js 的 let 和 var 变量提升问题 alter(a); //会报错, let a = 1; alter(b); //undefined var b = 1; 因为var存在变量提升,let没有。 程序运行的时候,var声明的变量已存在,但是没有赋值,是undefined; let 声明不存在变量提升,在声明a之前使用,这时候a还不存在,所以会报错。 代码规范,要先声明后使用。用let