JavaScript:var与let的区别 先介绍一下let: let是ECMAScript 6(ES6)中新增的命令.let是块级作用域,在 ES6 之前是没有块级作用域这个概念的 区别一: 作用域不同 在函数中用var声明变量,则这个变量作用于整个函数,var可以跨块,但是不能跨函数: 区别二: var 可以重复声明,而 let 不能 区别三: var定义的变量会变量提升 var定义的变量会被提升到作用域顶部.而let有暂时性死区,不会被提升,所以用var定义变量容易产生全局污染 a显示为未定义,而b则直接报错 使用let声明变量的好处 1. 减少全局污染 2. 可以解决闭包问题