【问题标题】:Please explain what is happening in this piece of code in chrome console? [duplicate]请解释一下 chrome 控制台中这段代码发生了什么? [复制]
【发布时间】:2017-07-14 11:38:40
【问题描述】:

Javascript代码:

for(var i=0; i<5; i++){
  console.log(i);
  setTimeout(function(){
    console.log(" magic "+ i)
  }, 2000);

};

输出:

  1. 25 这个数字是什么意思?
  2. i 如何递增到5i++4 之后无法访问?

【问题讨论】:

    标签: javascript google-chrome-console


    【解决方案1】:

    您从以下位置获得数字 0 到 4:

    console.log(i);
    

    因为你执行了 5 次“魔法 5”

    console.log(" magic "+ i)
    

    在你将i 数到 5 之后的 5 次。

    更有趣的部分是另一个数字。这是最后一个setTimeout(...) 的结果。每次在控制台中执行 Javascript 时,您都会得到代码的返回值(console.log("foo") 将产生 undefined)。在您的代码中直接执行的最后一条语句是 setTimeout,它返回一个 ID。

    【讨论】:

      猜你喜欢
      • 2020-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 2016-06-09
      • 1970-01-01
      相关资源
      最近更新 更多