猿问

不用闭包为什么也可以正确弹出循环的索引值?

在学习闭包的时候,把示例写成如下:


    function test(){

        for(var i=0;i<10;i++){

            setTimeout(console.log(i),0);

        }

    }

    test();     //会依次输出0~9

运行结果如下:

如果把console.log(i)包裹在一个匿名函数里面,打印的结果是10个10(我能够理解是闭包造成这样的)

智慧大石
浏览 415回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答