Skip to content

ReferenceError:变量未定义

错误信息

                x is not defined
              

快速摘要

你用了一个 JavaScript 里根本不存在的变量名——可能是没声明、拼错了,或者忘了 import。

为什么发生

  • 变量在使用前没有用 letconstvar 声明

  • 变量名拼写错误,如把 count 写成 cont

  • 从模块导入的名字写错,或忘了 import

  • 在块级作用域外访问 let/const 声明的变量

最小示例

✗ 错误代码
console.log(userName);
✓ 修复代码
const userName = "Alice";
console.log(userName);

userName 从未声明,JS 引擎找不到这个名字就抛出 ReferenceError。先 const userName = ... 声明再使用即可。

如何诊断

  • 阅读错误信息,记下提到的变量名

  • 在代码中搜索该名字,确认是否声明过、拼写是否一致

  • 检查是否在正确的模块/作用域中导入了该变量

如何修复

  • 在使用前先用 letconstvar 声明该变量

  • 修正拼写错误,使引用与声明完全一致

  • 在文件顶部补上 import 语句

如何预防

  • 启用 ESLint 的 no-undef 规则,在编码时即时捕获未定义引用

  • 使用编辑器的自动补全和跳转定义功能,减少拼写错误

相关资源

相关课程

相关练习

← 返回语言