为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

拉莫斯之舞 2019-10-22 22:24:44
我有以下JavaScript代码:var counter = 0;function printCounter(){   console.log("counter=" + ++counter);   setTimeout(printCounter, 1000);}printCounter();我希望它应该输出以下输出:counter=1counter=2counter=3...但是,它打印以下内容:counter=1undefined  // <-- Notice this "undefined"counter=2counter=3...为什么在第一次迭代后打印“未定义”?重要说明:仅当在JavaScript控制台中执行代码时,我才会看到这种行为。如果它是页面的一部分,则可以正常工作。
查看完整描述

2 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

...所以REPL评估undefined的结果是这样,但是由于异步计时器正在运行,它将继续调用...console.log

查看完整回答
反对 回复 2019-10-22
  • 2 回答
  • 0 关注
  • 563 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信