let const var的区别

var 是声明变量的一种方式
很多情况下js的面试题中都有var变量提升的问题,而var的变量提升会导致变量名混乱等问题,且变量提升也不好理解。
例如:

		console.log(a);//undefined
        a=3;
        console.log(a);//3
         var a;
         

也就是说在开始的时候已经进行的变量的声明,var把a的声明定义到了代码的开始部分

而使用let就不会进行这种情况,并且这会使代码在代码块当前作用域生效,
他不会进行变量的提升,

	var c=c;//不会进行报错
    let b=b;//报错

当使用var 进行声明时由于变量的提升所以并不会报错,
而在使用let的时候当你在省名之前的代码度取它的值就会进行报错。
并且 let是声明变量的,而且他只在当前{}生效也就是说当你进行for循环时初识条件中定义的变量i并不会影响{}之外的for循环定义的i。
const是定义 常量并且定义之后就不会进行更改了,但是要注意他和let一样有暂时性死区问题(也就是没有定义时就取值)。const最好不要定义数组和对象因为他存储的也是一个地址当存储了数组和对象的地址之后const就会变得没有了意义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值