您的位置:首页 > Web前端 > JavaScript

JS中null与undefined的区别

2018-01-03 14:35 330 查看

1. 相同点

  if 判断语句中,两者都会被转换为false

2. 不同点

Number转换的值不同,Number(null)输出为0, Number(undefined)输出为NaN

null表示一个值被定义了,但是这个值是空值

作为函数的参数,表示函数的参数不是对象

作为对象原型链的终点 (Object.getPrototypeOf(Object.prototype))

定义一个值为null是合理的,但定义为undefined不合理(var name = null)      

undefined表示缺少值,即此处应该有值,但是还没有定义

变量被声明了还没有赋值,就为undefined

调用函数时应该提供的参数还没有提供,该参数就等于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


详情参考:http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html

     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: