为什么这会给Uncaught ReferenceError

时间:2019-06-19 11:40:49

标签: javascript

据我了解,

预期的输出必须是: 10 22

let y = 10;
{
    console.log(y); // this line gives refrence error 
    let y = 22;
    console.log(y);
}

1 个答案:

答案 0 :(得分:-1)

{
console.log(this.y); // this line gives refrence error
let y = 22;
console.log(y);
}

您正在尝试调用尚未声明的变量。这就是为什么您遇到此错误的原因。您的第一个console.log不是在查看全局范围,而是在查看块范围。在您调用它时,它尚未定义。一个“ var”将返回未定义。 let和const返回此错误。我希望这很清楚。

您可以使用'this'对此进行测试。如您所见this.y是未定义的。