只存在javaScript中的 undefined
它和js历史有关,早期因为一些原因特意设计的。目前,null和undefined基本是同义的
目前的用法
null表示"没有对象",即该处不应该有值。典型用法是
- 作为函数的参数,表示该函数的参数不是对象
- 作为对象原型链的终点。
Object.getPrototypeOf(Object.prototype) // null //Object.getPrototypeOf 要返回其原型的对象 //Object.prototype 是一个对象,用于表示Object的原型对象
undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:
- 变量被声明了,但没有赋值时,就等于undefined
- 调用函数时,应该提供的参数没有提供,该参数等于undefined
- 对象没有赋值的属性,该属性的值为undefined
- 函数没有返回值时,默认返回undefined
1 var i; 2 i // undefined 3 4 function f(x){console.log(x)} 5 f() // undefined 6 7 var o = new Object(); 8 o.p // undefined 9 10 var x = f(); 11 x // undefined
浙公网安备 33010602011771号