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 ”是两码事。
原文:http://www.cnblogs.com/wangwenhui/p/7643206.html