ReferenceError:变量未定义
错误信息
x is not defined
快速摘要
你用了一个 JavaScript 里根本不存在的变量名——可能是没声明、拼错了,或者忘了 import。
为什么发生
变量在使用前没有用
let、const或var声明变量名拼写错误,如把
count写成cont从模块导入的名字写错,或忘了
import在块级作用域外访问
let/const声明的变量
最小示例
✗ 错误代码
console.log(userName);✓ 修复代码
const userName = "Alice";
console.log(userName);userName 从未声明,JS 引擎找不到这个名字就抛出 ReferenceError。先 const userName = ... 声明再使用即可。
如何诊断
阅读错误信息,记下提到的变量名
在代码中搜索该名字,确认是否声明过、拼写是否一致
检查是否在正确的模块/作用域中导入了该变量
如何修复
在使用前先用
let、const或var声明该变量修正拼写错误,使引用与声明完全一致
在文件顶部补上
import语句
如何预防
启用 ESLint 的
no-undef规则,在编码时即时捕获未定义引用使用编辑器的自动补全和跳转定义功能,减少拼写错误
相关资源
相关课程
- JavaScript 变量
了解 let/const/var 的区别和作用域
相关练习
- let 与 const 测验
考察你对 const 变量声明的理解。
- 声明 JavaScript 常量
练习用 const 声明变量。