JS - var / let / const 区别

本文介绍了JavaScript中的变量提升现象,即var定义的变量会被提升到作用域顶部。同时,文章对比了let和const的块级作用域特性,强调const不能重新定义且常量值不可变,但可修改对象的属性值。举例说明了const定义的对象引用不能改变,修改对象属性是允许的,而重新赋值会引发错误。
摘要由CSDN通过智能技术生成
  • var :变量提升,定义的变量都会被提升到该作用域的最顶部,变量也可以在声明之前使用
    在这里插入图片描述
  • let :块级作用域,不能重复定义
  • const :块级作用域,不能重复定义,定义常量不能被修改;虽然const变量不能修改指针,但是可以修改值,比如我们定义一个对象,我们就可以修改对象里的属性值,但是不可以重写整个对象。
const person = {
    name: "蛙人",
    age: 23
}
person.age = 18 // 没问题
person = {} // 报错 不能修改对象指针

具体例子分析
1)例子1
变量a挂载到Window上了:在这里插入图片描述

Window上无变量a
在这里插入图片描述
2)例子2
∵ 先执行同步代码i++,再执行异步代码
a.
在这里插入图片描述

在这里插入图片描述
b.
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值