1、let 声明的变量具有块作用域的特征。 2、在同一个块级作用域,不能重复声明变量。 function foo(){ let a = 1; let a = 2;//Uncaught SyntaxError: Identifier 'a' has already been declared } 3、let 声明的变量不存在变量提升,换一种说法,就是 let 声明存在暂时性死区(TDZ)。 for (var i = ...