let变量

发布时间 2023-12-23 00:14:08作者: 郭培鑫同学

在ES6中,已经使用let代替var

那么为什么呢?即let的优点有哪些:

1. 变量不能重复声明

2. 变量不存在变量提升机制

3. let是块级作用域,即'局部变量'

4. 但是不影响到作用域链,即函数体可以使用let定义的变量

疑惑:

变量提升机制:可以在定义变量前,提前使用变量,在ES6之前,代码很混乱的

块级作用域:包括静态代码块、函数、eval

​ eval:在ES5严格模式下才有的作用域,eval是一个特殊的函数,它可以将传入的字符串当作js代码执行,但是不建议使用eval函数,因为运行性能差,必须经过js解析器,并且不会被js引擎优化。

​ 严格模式:是一种具有限制性的js模式,浏览器会以更加严格的方式对代码进行检测和执行。