1. undefined和null,在布尔元算中自动转换为false。
2. null == undefined;//true
null === undefined;//false
2. typeof null;//object
typeof undefined;//undefined
3. Number(null);//0
Number(undefined);//NaN
4. 目前的用法:
null表示“没有对象”,即此处不应该有值。典型用法:
(1)作为函数的参数,表示该函数的参数不是对象。
(2)作为对象原形链的终点。
Object.getPrototypeOf(Object.prototype);//null
undefined表示“缺少值”。典型用法:
(1)变量被声明了,还没有赋值,该变量就等于undefined。
var data;
data;//undefined
(2)调用函数时,应该提供的参数没有提供,该参数就等于undefined。
function f(data){console.log(data);}
f();//undefined
(3)对象没有赋值的属性,该属性的值为undefined。
var obj = new Object();
obj.p;//undefined
(4)函数没有返回值时,默认返回undefined。
var res = (function(){})();//undefined