null和undefined区别
undefined表示不存在的状态。没有定义的变量,没有定义的对象属性,没有return的函数的返回值等等都是undefined。
null表示没有对象。使用上没有差别,只是根据大众的使用习惯,场合不一样。
console.log(typeof null); // object console.log(typeof undefined); // undefined
//声明一个变量,但是不赋值,既是null也是undefined
var foo; console.log(foo === undefined); // true console.log(foo == null); // true
//undefined是可变的,而null不可变 (function () { var undefined = 12; console.log(undefined); // 12 console.log(foo === undefined); // false console.log(foo == null); // true console.log(typeof foo === 'undefined'); // true })();