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 ”是两码事。

posted on 2017-10-09 21:56  sandy.simple  阅读(734)  评论(0编辑  收藏  举报