×
  • Web前端首页
  • Js&JQuery
  • 脱坑笔记:解决ReferenceError: can't access lexical declaration`X' before initialization错误的方法

脱坑笔记:解决ReferenceError: can't access lexical declaration`X' before initialization错误的方法

作者:Terry2023.07.27来源:Web前端之家浏览:4216评论:0
关键词:js

分享一个Web前端开发脱坑笔记:解决ReferenceError: can't access lexical declaration`X' before initialization错误的方法,首先我们需要分析错误来源:

Tips:
ReferenceError: assignment to undeclared variable "x" (Firefox)

错误类型

ReferenceError

哪里出错了?

词法变量在初始化之前被访问。该错误可以发生于任何语句块中,当使用 let 或 const 修饰的变量在初始化之前被访问的时候。

示例

我们用一个错误实例来说明下。

错误写法

在这个例子中,变量 "foo" 在语句块中再次声明,导致未初始化。

function test(){
   let foo = 33;
   if (true) {
      let foo = (foo + 55); // ReferenceError: can't access lexical declaration `foo' before initialization
   }
}
test();

正确情况

在 if 语句块中修改变量 "foo" 的值,不应该在其中进行二次声明。

function test(){
   let foo = 33;
   if (true) {
      foo = (foo + 55);
   }
}
test();

您的支持是我们创作的动力!
温馨提示:本文作者系Terry ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://www.jiangweishan.com/article/js20230727error.html

网友评论文明上网理性发言 已有0人参与

发表评论: