我不明白为什么会引发错误
str = 'string'; // str is not defined. Why?
let str = 'string2';
console.log(str);
我认为声明没有关键字的变量会使它看起来像var。但事实并非如此。
答案 0 :(得分:2)
您需要先声明变量,然后使用它,let
就是这样工作的。如果您使用的是var
关键字,那就可以了。
使用let
str = 'string'; // DOES NOT WORK! here it hasn't been declared
let str = 'string2'; // move this line up before the above line
console.log(str);
使用var
str = 'string'; // IT WORKS because of variable hoisting!
var str = 'string2';
console.log(str);