×

错误提示:ReferenceError: can't access lexical declaration`X' before initialization

作者:andy0012020.06.15来源:Web前端之家浏览:818评论:0
关键词:js

出现bug,解决BUG,对于前端开发人员来说,是件最普通的事情了。那么出现错误提示:ReferenceError: can't access lexical declaration`X' before initialization。其实这个报错信息很不常见哟,我们来分析分析。

出错地方

词法变量在初始化之前被访问。该错误可以发生于任何语句块中,当使用 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();

原来是变量申明的问题呢,您知道了吗?

温馨提示:本文作者系 ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://www.jiangweishan.com/article/js20200615a2.html

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

发表评论:

最新留言

首页|JavaScript|HTML|HTML4|HTML5|CSS3|开发工具|性能优化|移动开发|前端教程|性能优化|开发工具|酷站欣赏|UI设计|前端教程

Copyright © 2020 Web前端之家(www.jiangweishan.com) 版权所有 All Rights Reserved.
粤ICP备12067512号-1

Copyright Your WebSite.Some Rights Reserved.

Powered By Z-BlogPHP 1.6.5 Valyria