-2

Javascript代码:

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

};

输出:

输出

  1. 数字是什么25意思?
  2. 之后如何i递增到5while i++is unreachable 4
4

1 回答 1

0

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

console.log(i);

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

console.log(" magic "+ i)

i到 5 后 5 次。

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

于 2017-07-14T11:49:41.707 回答