为什么此JavaScript代码在控制台上显示“未定义”?

我有以下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” 有点混乱;确实,它没有明确的回报,但是效果是一样的。

以上是 为什么此JavaScript代码在控制台上显示“未定义”? 的全部内容, 来源链接: utcz.com/qa/409102.html

回到顶部