分享一个Web前端开发脱坑笔记:解决ReferenceError: can't access lexical declaration`X' before initialization错误的方法,首先我们需要分析错误来源:
Tips: ReferenceError: assignment to undeclared variable "x" (Firefox)
错误类型
ReferenceError
词法变量在初始化之前被访问。该错误可以发生于任何语句块中,当使用 let 或 const 修饰的变量在初始化之前被访问的时候。 我们用一个错误实例来说明下。 在这个例子中,变量 "foo" 在语句块中再次声明,导致未初始化。 在 if 语句块中修改变量 "foo" 的值,不应该在其中进行二次声明。哪里出错了?
示例
错误写法
function test(){
let foo = 33;
if (true) {
let foo = (foo + 55); // ReferenceError: can't access lexical declaration `foo' before initialization
}
}
test();
正确情况
function test(){
let foo = 33;
if (true) {
foo = (foo + 55);
}
}
test();
网友评论文明上网理性发言 已有0人参与
发表评论: