请解释Chrome控制台中这段代码的内容?

时间:2017-07-14 11:38:41

标签: javascript google-chrome-console

  

Javascript代码:

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

};
  

输出:

output

  1. 25的数字是什么意思?
  2. i之后无法访问5时,i++如何增加到4

1 个答案:

答案 0 :(得分:0)

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

console.log(i);

和5次“魔法5”,因为你执行

console.log(" magic "+ i)

i计为5后

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