1、undefined
- 表示“无”的原始值或者说表示“缺少值”,就是此处应该有一个值但是还没有定义
- typeof undefined = undefined
- 转为数值为NaN
- 例如变量被声明了但没有赋值,就等于
undefined
;函数没有返回值默认返回undefined;对象没有赋值的属性,该属性的值为undefined
var i;
i // undefined
function f(x){console.log(x)}
f() // undefined
var o = new Object();
o.p // undefined
var x = f();
x // undefined
2、 null
- 表示“没有对象”,即该处不应该有值
- typeof null = object
- 转为数值为0
- 作为函数的参数,表示该函数的参数不是对象;作为对象原型链的终点
Object.getPrototypeOf(Object.prototype)
// null