为什么这个 JavaScript 代码在控制台上打印“未定义”
Why does this JavaScript code print "undefined" on the console?
我有以下JavaScript代码:
var counter = 0;
function printCounter(){
console.log("counter=" + ++counter);
setTimeout(printCounter, 1000);
}
printCounter();
我希望它应该打印此输出:
counter=1
counter=2
counter=3
...
但相反,它会打印以下内容:
counter=1
undefined // <-- Notice this "undefined"
counter=2
counter=3
...
为什么它在第一次迭代后打印"未定义"?
重要提示:只有在 JavaScript 控制台中执行代码时,我才会看到这种行为。如果它是页面的一部分,则工作正常。
这是因为"printCounter()"函数本身返回undefined
。这是控制台告诉您表达式的结果。
通过在末尾添加return "Hello Anton!";
来更改"printCounter()":-)
说它"返回undefined
"有点令人困惑;实际上,它没有明确的返回,但它是相同的效果。
相关文章:
- 为什么这个JS代码打印未定义
- $.每个jquery循环打印一个“;未定义的“;对于getJSON请求后的每个元素,网格数据都会完美地打印出来
- 为什么这个功能打印“;未定义的未定义的“;作为联系人名称,添加“新对象”
- 节点.js在不可能的地方打印“未定义”
- 文本框的值打印为“未定义”
- 使用Javascript打印HTML:未定义错误
- 为什么Javascript代码打印'未定义'即使变量被声明为全局变量
- 将 JSON 数据解析为 SELECT 打印未定义
- 自定义打印功能,打印内容未显示在第一个事件触发器上
- 本地存储的 json 数组正在打印,但来自 json 的值在 cordova 应用程序中给出未定义
- 在自定义指令中未定义的 NG 模型值打印
- 为什么这个 JavaScript 代码在控制台上打印“未定义”
- 得到“;未定义的“;当我用js打印json数组时
- 从父对象内部的相邻对象打印对象会导致'未定义'消息
- 打印字符串显示为未定义
- 打印Javascript split()数组并将未定义的值转换为字符串
- JQuery函数只打印未定义
- 无法读取property 'length'未定义的(使用geoserver打印地图)
- 变量范围困惑,打印未定义的变量声明在函数内
- 为什么console.log有时会为已导出的变量打印未定义