我们经常会碰到undefined,那么它到底是什么,是 undefined 还是 ' undefined '
var aa={}; //ddd===undefined; //这里肯定会出现异常,ddd未定义,但是下面的所有情况都不会发生异常 //-----aa.bbb------- aa.bbb===undefined; //true aa.bbb===window.undefined; //true aa.bbb===Object.undefined; //true undefined===window.undefined; //true window.undefined===Object.undefined;//true //------function(){}()------ function(){}()===undefined; //true function(){}()===window.undefined; //true //------"undefined"------ undefined=='undefined';//false 这里其实是undefined不等于字符串'undefined' aa.bbb=='undefined ; //false 同上 window.undefined=='undefined ; //false 同上 Object.undefined=='underfined ; //false 同上 //------typeof------ typeof undefined;//undefined typeof null; //object typeof NaN; //number typeof ddd; //undefined 用typeof 一个不存在的变量返回的也是undefined typeof undefined == undefined; //false ??? 其实 typeof 返回的都是一个字符串,所以不等 typeof undefined === 'undefined ;//true typeof ddd===typeof undefined; //true