ReferenceError与undefined的区别

ReferenceError与undefined的区别


概述

ReferenceError

当尝试引用一个未定义的变量/函数时,就会抛出一个ReferenceError。

undefined

当一个变量声明后,没有被复制,那么它就是undefined类型。

案例

  • 在下面代码中,打印的a是undefined
b();
console.log(a);

var a = "Hello World!";

function b() {
 console.log("Called b!");    
}
  • 在下面的代码中,打印的是Uncaught ReferenceError: a is not defined。
b();
console.log(a);

function b() {
 console.log("Called b!");    
}

注意这里的变量声明提前的问题。通过var声明的变量会出现变量声明提升的问题,而let则不会。
可参考博文;

原文地址:https://www.cnblogs.com/omg-two/p/6552781.html