null和undefined区别(转)

目前,null和undefined基本是同义的,只有一些细微的差异。javascript

null表示"没有对象",即该处不该该有值。典型用法是:java

(1) 做为函数的参数,表示该函数的参数不是对象。函数

(2) 做为对象原型链的终点。spa

Object.getPrototypeOf(Object.prototype) // null 

undefined表示"缺乏值",就是此处应该有一个值,可是尚未定义。典型用法是:prototype

(1)变量被声明了,但没有赋值时,就等于undefined。code

(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。对象

(3)对象没有赋值的属性,该属性的值为undefined。token

(4)函数没有返回值时,默认返回undefined。ip

(5)变量值位于后面加载时,默认返回undefined。原型链

var i; i // undefined function f(x){console.log(x)} f() // undefined var o = new Object(); o.p // undefined var x = f(); x // undefinedalert(a);var a=1;
相关文章
相关标签/搜索