首先抛出问题:红宝书上有这样一个问题for(var i=1;i<5;i++){ setTimeout(()=>{console.log(i);},0); }这样子,得到的输出结果是:5555对此的解释,在红宝书上只知道这里定义的i变量是全局作用域变量,并不能明白为何会输出4个5而经过我一番查阅,总算明白其过程如何。首先,js引擎是单线程的,所以for循环的执行会在setT...
首先抛出问题:红宝书上有这样一个问题for(var i=1;i<5;i++){ setTimeout(()=>{console.log(i);},0); }这样子,得到的输出结果是:5555对此的解释,在红宝书上只知道这里定义的i变量是全局作用域变量,并不能明白为何会输出4个5而经过我一番查阅,总算明白其过程如何。首先,js引擎是单线程的,所以for循环的执行会在setT...