<分区>
我正在阅读你不知道的 JS 丛书。
在这本书的第 5 章作用域和闭包中,有一个我无法理解的 for 循环
for (var i=1; i<=5; i++) {
setTimeout( function timer(){
console.log( i );
}, i*1000 );}
它在 1 秒间隔后在控制台中打印 6 5 次。 甚至作者都试图解释为什么会这样,但我无法理解他想说的话。
您可以在此处找到此代码及其说明: https://github.com/getify/You-Dont-Know-JS/blob/master/scope%20%26%20closures/ch5.md
前往页面上的“Loop + Closure”部分,您会找到这段代码。
谁能用简单的语言向我解释一下?? 为什么它在 1 秒间隔后在控制台中打印 6 5 次而不是 1、2、...、5。
提前感谢您的时间和精力。