let 存在于当前作用域 var存在于全局作用域被var生命的变量只要一个改变剩下的也变
    let 不存在变量提升 在let声明之前调用变量会报错

    暂存性死区 :如果区块中存在let和const命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。