提问者:小点点

javascript什么时候抛出引用错误?


我有一个很简单的问题,但我找不到任何一个完整的答案。

JavaScript的nullundefined是未初始化变量的值,也是查询不存在的对象属性或数组元素的值时得到的值。

我最初认为,当我们试图访问不存在的对象属性或不存在的数组元素时,会得到一个ReferenceError,但事实证明并非如此。

但是在哪些情况下它会抛出ReferenceError呢?

如果有人能告诉它可以抛出referenceerror的所有情况,我将非常感激


共2个答案

匿名用户

当您执行以下操作时,将出现引用错误:

  • 尝试读取尚未声明的变量
  • 在严格模式下工作时尝试写入尚未声明的变量(在旧模式下,这将改为创建隐式全局变量)

JavaScript的null和undefined是未初始化变量的值

否。已声明但未赋值的变量或未赋值的属性将以未定义作为默认值。 也可以显式分配未定义null只能显式分配。

匿名用户

当您试图访问一个变量,而该变量没有在正在访问的同一变量的作用域中定义,那么我们会得到一个reference error

对于前,

//Try accessing x 
console.log(x)

//Output
Uncaught ReferenceError: x is not defined
    at <anonymous>:1:13

在下面的示例中,我们定义了x,但是没有分配任何值,因此默认情况下undefined将是值。

null

let x;
console.log(x)