JS - 有趣的面试题

for (var i = 0; i < 5; i++) {
    setTimeout(function() {
        console.log(i);
    }, 1000);
}
//这个例子执行完输出什么结果?

//答案是 5,5,5,5,5

//如果想要输出0,1,2,3,4改怎么实现?
//其中一种方案就是把var换成let就可以了。let的块级作用域在这里就体现出来了。

for (let i = 0; i < 5; i++) {
    setTimeout(function() {
        console.log(i);
    }, 1000);
}

 

posted @ 2020-05-13 09:45  宸晓闹儿06  阅读(111)  评论(0编辑  收藏  举报