文章目录
- let 声明
- let 是如何工作的?
- 暂时性死区( TDZ )
- const 声明
- 变量生命周期
- var 变量的生命周期
- 函数声明生命周期
- 受临时死区(TDZ) 影响的声明
- TDZ 中的 typeof 行为
- 总结
- 番外
let
声明是 ES6 中很常见的特性,它的工作方式类似于var
声明,但是它有不同的作用域规则。在确定作用域方面,JS 有着一个复杂的规则集,这让许多程序员在第一次尝试弄清楚变量在 JS 中是如何工作的时候感到抓狂。
提升
是将变量或函数定义移动到作用域头部的过程,通常是 var
声明的变量和函数声明function fun() {...}
。
ES6 新增了let
命令,用来声明变量。它的用法类似于var
,但是所声明的变量,只在let
命令所在的代码块内有效。
function weAreGodd (name) {
if (name === '前端小智') {