var tmp=123; if(true){ tmp="abc";//referenceError let tmp} 上面的代码中存在全局变量tmp,但是此时块级作用域内let又声明了一个局部变量tmp,导致后者绑定这个块级作用域,所以在let生命变量前,对tmp赋值会报错