1.const 声明常量
声明后不允许改变,如果改变会抛出异常
2.let 声明变量(更完美的 var)
(1)let没有变量提升问题,在let声明变量前调用变量会抛出异常
而var声明变量不会抛出异常,只会打印undefined
(2)用let声明的变量,你再用let,var或const去声明就会抛出异常
而var就不会
(3)let块级作用域问题,也就是说用let
声明的变量的作用域只是外层块,而不是整个外层函数
let在for循环中,创建了作用域,在循环之外,会访问不到这个变量的