首页 > 其他 > 详细

for循环使用var和let的区别

时间:2019-04-09 14:03:52      阅读:139      评论:0      收藏:0      [点我收藏+]
for(var i=0;i<5;i++){       

     setTimeout(function() {
        console.log(i);
     }, 0)

}
// 结果 5 5 5 5 5
for(let i=0;i<5;i++){

     setTimeout(function() {
        console.log(i);
     }, 0)

}
// 结果 0 1 2 3 4

由于 var 命令的变量提升机制,var 命令实际只会执行一次。

let 命令不存在变量提升,所以每次循环都会执行一次,声明一个新变量(但初始化的值不一样)。

for 的每次循环都是不同的块级作用域,let 声明的变量是块级作用域的,所以也不存在重复声明的问题。

let生命变量的for循环里,每个匿名函数实际上引用的都是一个新的变量

for循环使用var和let的区别

原文:https://www.cnblogs.com/150536FBB/p/10676444.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!