在javascript中undefined和null几乎是没有区别的
undefined==null;//true;
 
区别:
 
null是一个表示“无”的对象,转为数值为0;或者说没有对象,此处不应该有值;
表示:(1)作为函数的参数,表示该函数的参数不是对象。
          (2)作为对象原型链的终点。
 
eg:
Object.getPrototypeOf(Object.prototype)
// null

          

undefined是一个表示“无”的原始值,转为数值为NaN,就是说此处应该有一个值,但是还没有定义。
表示:(1)对象被声明了,但是没有被赋值,就是undefined;
          (2)调用函数时,参数没有被提供,该参数就等于undefined;
          (3)对象没有赋值的属性,该属性值为undefined;
          (4)函数没有返回值时,默认返回undefined;
 
eg:
var i;
i // undefined

function f(x){console.log(x)}
f() // undefined

var  o = new Object();
o.p // undefined

var x = f();
x // undefined

  

posted on 2015-09-29 15:06  不想做菜鸟的学渣喵  阅读(188)  评论(0编辑  收藏  举报