undefined 和 undeclared 的区别

var a; //undefined
b;    // b is not defined

区别:在变量作用域中已经申明但没有赋值的变量(如 a),是undefined。相反,在变量作用域中没有申明过的变量,是undeclared。

我们试图访问“undeclared ”变量时这样报错:ReferenceError: b is not defined。并且typeof 对undefined 和 undeclared 变量返回的都是undefined。其实“ undefined” 和“ is not defined ”是两码事。

原文地址:https://www.cnblogs.com/wangwenhui/p/7643206.html