简述var 、let、const的区别


简述var 、let、const的区别:
一、首先说一下var和let的作用域的区别:
1、var声明变量的作用域是它当前的执行上下文;
let声明变量的作用域是它当前所处的代码块;var 和 let 的作用域规则都是一样的,其声明的变量只在其声明的块或子块中可用。
2、重复声明问题
var 允许在同一作用域中重复声明,而 let 不允许在同一作用域中重复声明,否则将抛出异常。
3、绑定全局对象
var 在全局环境声明变量,会在全局对象里新建一个属性,而 let 在全局环境声明变量,则不会在全局对象里新建一个属性。
一个执行上下文的生命周期可以分为三个阶段:创建、执行、释放。如下图:
<image w=800 h=368 describe= name=Notes_1638251044617.png>
二、let 与 const 异同
const 与 let 很类似,都具有上面提到的 let 的特性,唯一区别就在于 const 声明的是一个只读变量,声明之后不允许改变其值。因此,const 一旦声明必须初始化,否则会报错。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM