javascript中有两个容易让人忽略的问题,就是null==undefined和null!==undefined。
javascript中语法规定==是判断值是否相等,===是判断值和类型是否相等。
这里需要加以区分,undefined表示没有赋值的基本数据类型;null表示没有赋值的引用数据类型。
null是处理引用的,它在堆中,而undefined是处理原始值的,它在栈中。
null表示没有对象,就是说该处不应该有值,
undefined表示缺少值,就是此处应该有一个值,但是还没有定义。
这里要强调一点的是,null参与数据运算时其值会自动转换为0,而undefined参与时其结果一定是NaN。