首页 > 其他 > 详细

let

时间:2020-06-17 10:34:06      阅读:47      评论:0      收藏:0      [点我收藏+]

1.let在块级作用域中起作用,也就是一个大括号,与var相比,在for循环中,if判断中设置let变量,出了他们的大括号旧不可用,而var可以,但是var如果在函数内部声明,外部也不可访问,此处了let和他一样

            if(true){
                let a =1;
                var b =2;
                
            }
            console.log(b);
            console.log(a);                    

var 作用在全局

 

     var a = []
        for(var i = 0;i<2;i++){
            a[i] = function(){
                console.log(i)
            }
        }
        a[1]();//2
        a[0]();//2

 let循环过程中产生块级作用域

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

 

 

 

 2.不会变量提升

3.暂时性死区,在块级作用域中若声明了一个变量,则其中的表达式会优先使用这个变量,若变量声明在表达式之后,则报错,变量提升问题,若使用var声明则为undefined

        var aa =3;
            function a(){
                console.log(aa);
                let aa =4;
            }
            a();

 

let

原文:https://www.cnblogs.com/huang131/p/13150564.html

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