首页 > Web开发 > 详细

JS中null与undefined的区别

时间:2019-06-26 11:19:48      阅读:91      评论:0      收藏:0      [点我收藏+]

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

     

 
 
 
 

JS中null与undefined的区别

原文:https://www.cnblogs.com/iOS-mt/p/11088449.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!