块级作用域绑定 变量提升机制 在函数作用域或者全局作用域中,通过var声明的变量,无论在哪里声明,都会被当做成在当前作用域或顶部声明,这就是函数提升(Hoisting) 块级作用域 块级声明用于再制定块的作用域之外无法访问的变量。块级作用域存在于: 函数内部 大括号之间的区域 let声明 let对变量声明,不能变量提升 if (true) { let age = 20 } console.log(age) // 报错 注意: 禁止重复声明 var a = 0 let a = 1 // 报错 var a = 0 if (true) { let a = 1 // 不报错 } 块