简单的 js FOR 循环返回“未定义”

2023-12-26

不确定我在这里做错了什么;变量newStr应该只返回“Hello World”,但我得到的是:

"undefinedHello World"
undefined

JS

function translate2(x){
  var newStr;
  x = "Hello World";
  for(i=0; i<x.length; i++) {
    newStr+=x.charAt(i);
  }
  console.log(newStr);
}

  1. 在 JavaScript 中,如果变量没有显式初始化,则默认情况下它会具有undefined https://developer.mozilla.org/en-US/docs/Glossary/undefined。那不是字符串,而是语言的原始类型。您可以通过打印来检查

    var newStr;
    console.log(newStr);
    // undefined
    console.log(newStr + "thefourtheye");
    // undefinedthefourtheye
    

    因此,只需使用空字符串初始化变量,如下所示

    var newStr = '';
    
  2. 另请注意,在这一行中

    for(i=0; i < x.length; i++) {
    

    i以前从未宣布过。所以,一个新的全局变量i将被创建。你可能不想要那样。所以,只需使用var关键字声明变量作用域为当前函数,如下所示

    for (var i = 0; i < x.length; i++) {
    
  3. 除此之外,translate2是一个函数,当它被调用时,人们会期望它返回一些东西。但您没有明确返回任何内容。因此,JavaScript 默认情况下会返回undefined。这就是为什么你得到第二个undefined在问题中。要解决这个问题,请使用return像这样的声明

    function translate2(x) {
        var newStr = "";
        for (var i = 0; i < x.length; i++) {
            newStr += x.charAt(i);
        }
        return newStr;
    }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简单的 js FOR 循环返回“未定义” 的相关文章

随机推荐

  • 如何用 Java 发送电子邮件?

    我需要从 Tomcat 中运行的 servlet 发送电子邮件 我总是会向同一收件人发送相同主题但内容不同的邮件 用 Java 发送电子邮件的简单方法是什么 Related 如何使用 GMail 从 Java 应用程序发送电子邮件 http
  • List.of 和 A​​rrays.asList 有什么区别?

    Java 9 引入了新的列表工厂方法 List of https docs oracle com javase 9 docs api java util List html of E List
  • 如何按颜色划分二分图?

    例如 假设我有一个图 G V E 其中 V A B C D E A B A D C D 该图是二分图 因此可以分为两个不相交的集合 A C 和 B D 我的第一个猜测是 我可以简单地遍历图形并为每个顶点指定交替的颜色 是这样吗 还是比这更复
  • Doctype 元和怪异模式

    请我在这里澄清一些想法 如果未指定文档类型 则调用 Quirksmode but 当从本地主机提供服务时 无论文档类型如何 IE 似乎都会进入怪异模式 请确认这一点 有人可以解释为什么会出现这种情况吗 however 当从本地主机提供服务并
  • 如何有条件地将一行 Excel 数据从一张工作表附加到另一张工作表?

    我不经常使用 Excel 但我希望有一种相当简单的方法来解决这个问题 我查看了许多其他解决方案 涉及将数据从一张纸粘贴到另一张纸 但我找不到任何可以让我 1 将单元格从一张纸匹配到另一张纸 然后 2 有条件附加或连接数据的东西而不是简单地粘
  • 如何在不安装Oracle客户端和cx_Oracle的情况下访问Oracle数据库?

    我有两台分别运行 Python 2 4 和 2 6 的 RHEL 服务器 我需要访问另一台服务器上的 Oracle 数据库 我尝试在 RHEL 服务器上安装 cx oracle 但发现必须先安装 Oracle 客户端 问题是 我没有权限在两
  • 使用该列的最大值标准化列数据

    我有一个包含两列的数据文件 我想找出第二列中的最大数据值 并将第二列的每个条目除以最大值 所以我将获得第二列 我尝试使用下面的命令 awk BEGIN max 0 if 2 gt max max 2 print 2 max angleOut
  • 如何从 QProcess 获取 STDOUT?

    我想我将使用以下代码从 QProcess 获取输出 Start the process process start tr php cgi www test php QIODevice ReadWrite Wait for it to sta
  • 如何使用 Rails 3 和 Ruby 1.9.2 创建 Windows 服务?

    如何使用 Mongrel 创建带有 Rails 3 和 Ruby 1 9 2 的 Windows 服务 几年前mongrel serviceMongrel 的扩展用于提供将 Rails 应用程序 使用 mongrel service 作为服
  • 溢出换行:断字与断字:断字

    有什么区别overflow wrap break word and word break break word 正如您从以下示例中看到的 选项 1 和选项 2 之间没有视觉差异 您需要取消注释其中之一 body width 300px do
  • 减少 MVVM WPF 应用程序中附加属性、命令等的样板代码?

    我正在开发 WPF MVVM 应用程序 我注意到 我必须编写大量样板代码来声明命令 通过 WPF 团队的 MVVM 工具包中的 DelegateCommands 附加属性和附加行为 是否有任何策略可以减少我必须编写的样板代码量 Thanks
  • 找到右键单击的选项 c# White/TestStack UI Automation

    我正在使用 White TestStack 的 C 语言框架创建软件流程自动化 我遇到问题 因为当我单击鼠标右键时无法捕获选项 图像预览 我用来尝试这个的代码 panel RightClick var propClick mainWindo
  • Matlab:获取图像的子集

    我正在尝试从 4 个点获取图像的子集 按照中给出的解决方案here https stackoverflow com questions 4564530 how do i create a subimage from an image in
  • 命令行包 Service Fabric 应用程序

    直到最近 我们的持续交付设置都是使用以下命令交付 Service Fabric 包 msbuild SFApp sfproj t Package 这是必要的 因为目标Package在解决方案级别不可用 IE 命令 msbuild SFSol
  • 寻找集体智慧.Net / C# 资源 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 首先 我意识到这是一个与此非常相似的问题 net java 中有哪些优秀的集体智能开源库 https
  • 检查fragment是否在framelayout中出现在android中?

    嗨 朋友们 我在 movie xml 中有两个框架布局容器 详细信息屏幕 在容器中会添加电影 xml其中包含listview 并且在detail screen中将有可扩展的listview 称为movie details xml 现在想以编
  • 如何根据另一个字段中的查找值返回一个字段中的值

    这是基本内容 但我对 VBA 和 Word Access 对象模型有些不熟悉 我有一个包含大约 117000 条记录的两列数据库 列是 姓氏 和 计数 我希望用户能够在文本框中输入 SMITH 并点击提交 然后我想运行类似的东西 SELEC
  • JNA 将 Java 布尔值映射到 -1 整数?

    我在传递时使用的本机库收到了令人惊讶的警告booleanJNA 结构中的值 value of pCreateInfo gt clipped 1 is neither VK TRUE nor VK FALSE 在这个图书馆里VK TRUE a
  • 如何使用 paramiko 通过 -t 选项进行 SSH

    我正在尝试登录一些远程服务器并尝试获取系统信息 在此过程中 我在某些服务器中遇到了问题 执行命令并不需要密码 如下所示sudo 为了克服这个问题并使脚本通用 提出了这样的选项sudo k udisksctl status 即提供 k选项 以
  • 简单的 js FOR 循环返回“未定义”

    不确定我在这里做错了什么 变量newStr应该只返回 Hello World 但我得到的是 undefinedHello World undefined JS function translate2 x var newStr x Hello