我有以下JavaScript代码:
var counter = 0;
function printCounter(){
console.log("counter=" + ++counter);
setTimeout(printCounter, 1000);
}
printCounter();
Run Code Online (Sandbox Code Playgroud)
我希望它应该打印此输出:
counter=1
counter=2
counter=3
...
Run Code Online (Sandbox Code Playgroud)
但它打印如下:
counter=1
undefined // <-- Notice this "undefined"
counter=2
counter=3
...
Run Code Online (Sandbox Code Playgroud)
为什么在第一次迭代后打印"undefined"?重要提示:只有在JavaScript控制台中执行代码时才会看到此类行为.如果它是页面的一部分,它可以正常工作.
获取这个简单的测试对象并将其粘贴到控制台中。你会看到它说undefined。该对象正在工作,因为它还打印123,但是这是什么呢undefined?
测试:
var Test = new (function(){
return {
get testing(){
return "123";
}
}
});
console.log(Test.testing);
Run Code Online (Sandbox Code Playgroud)
控制台输出:
123
undefined
Run Code Online (Sandbox Code Playgroud) 嘿,我正在尝试做的非常简单的任务....我正在尝试将文本放在我的文本框中并将其分配给var.当我在没有var的情况下运行时我会得到文本,但如果我将它分配给var,我会得到未定义的.有人可以向我解释一下,因为这对我来说很困惑吗?
在chrome Developer工具中,当我键入
a = 3 log 3但
var a = 3 log undefined时.
为什么第一个语句返回3而不是第二个?