0
点赞
收藏
分享

微信扫一扫

js中for循环变量的作用域

爱薇Ivy趣闻 2022-03-21 阅读 179
javascript

我觉得这个讲的不够详细,所以重新整理了一下

用var定义的

   var data = [];
    for(var k = 0; k < 2; k++){
            data[k] = function(){
                console.log(k);
            };
    }
    data[0]();
    data[1]();

//2
//2
上边代码的执行顺序展开来是这样的

用let定义的

   var data = [];
    for(let k = 0; k < 2; k++){
            data[k] = function(){
                console.log(k);
            };
    }
    data[0]();
    data[1]();

//0
//1
他的执行顺序是这样的

验证:下边两个代码运行速度差很多

总结:

let的块级作用域不单单只有一次,for循环的多次循环中,每一次循环都对应着一个单独的作用域

举报

相关推荐

0 条评论