var

ES5 声明符

* 会导致变量提升

什么是变量提升? 变量的声明被提到作用域的顶端

* 没有块状作用域的特性,声明的变量存在于最近的函数或全局作用域中
* 可以重复声明变量,后声明的变量会覆盖先声明的变量
* 全局声明的变量会被挂载至 Windows 中,即作为 Windows 对象的一个属性

let

ES6 声明符

**

const

ES6 声明符