JS基础(1)--- 关于Javascript中 var 、let 、const及其区别

        var在ECMAS的所有版本中都能使用,而let和const只能在ECMAScript6及更晚版本中使用。        

     var:

                ①声明范围:函数作用域

                在函数外调用会报错

                 

                全局声明var时,声明的变量会成为windos对象的属性

                ②声明的提升:

                var的声明会提升到函数顶部,但赋值不会。此时变量为undefined

                

                此段代码等价于

                

                ③var可以重复声明同一个变量

                

                ④for循环中的var

                

        let:

                ①声明范围:块作用域

                函数作用域范围 大于 块作用域范围,所以限制var的条件同样也能限制let。也就是说let的有更明确的作用域、声明位置。

                

                全局声明let时,声明的变量不会成为windos对象的属性。

                ②let声明不会被提升

                

                ③let不能重复定义同一变量

                 

                 ④for循环中的let

                

        const:

                const与let基本一致,区别是用const声明时,必须同时初始化变量,且不能修改该变量

        

        总结:

                var与const的区别:①var声明的范围为函数作用域,let声明的范围为块作用域;②var的声明会被提升,let的声明不会被提升;③var可以重复声明同一变量,let不可以重复声明同一变量;④在for循环的表现中有差别,见上文。

        最佳实践:

                为了有更明确的作用域、声明位置、不变的值

                应当尽量用const,当明确未来会修改变量时用let,而不使用var。 

                

                

        

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值