Javascript学习之null与undefined的使用

我们学习javascript的时候,首先需要学习的就是数据类型,只要说到Number 、 String 、 Boolean 和 Object 等数据类型,就会涉及到null 和 undefined。初学者对于null 和 undefined可能会有点混乱,本文就整了了一些null 和 undefined的使用与异同点,一起来看看吧。

null

  null 值表示一个指向不存在或无效的 对象 或地址( DMN )引用。即使它指向不存在的东西,也没什么,它是一个全局对象(也是JavaScript的原始值之一)。

 否定 null 值返回 true ,但将其与 false (或 true )进行比较则会给出 false 


  在基础数学运算中, null 值将被转换为 0 

 undefined

  全局属性 nundefined 表示原始值 undefined 。它也是JavaScript的原始数据类型( MDN)。 undefined 是全局作用域的一个变量。 undefined 的最初值就是原始数据类型 undefined 。一个没有被赋值的变量的类型是 undefined 。如果方法或者是语句中操作的变量没有被赋值,则会返回 undefined 

  当你声明一个变量但没有声明它的值时,JavaScript会给它赋值 undefined 

如果你尝试在任何运算中使用 undefined ,你会得到 NaN 的值。与 null 相似,否定 undefined 值返回 true ,但将其与 true  false 作比较则为 false 

 null vs undefined

  那么 null  undefined 两者之间有什么区别呢?通过上面的内容,我们来比较一下他们之间的相似点和不同之处。

  相似之处:

  . 当被否定时,两者的值都是 true

  . 代表了一些不存在的东西...

  差异之处:

  . null 表示无,完全不存在的; undefined 表示东西没有定义

  . undefined 有自己的数据类型( undefined ), null 只是一个对象

  . 在基本算术运算中, null 被视为 0  undefined 返回的 NaN

  还有一些事情需要指出来:

undefined == null 返回的值是 true ,因为JavaScript会尽力将两个值转换为相同类型。

  第二个语句, undefined === null 和第一个语句有点不同,他们还在比较数据类型(除了比值,还要比两者数据类型),加上JavaScript很聪明,可以看出他们之间的区别,所以返回的值是 false 

  第三个和最后一个语句, !undefined == !null  !undefined === !null 实际上已经非常的简单。由于两个都是否定的返回值(否定的返回值都是 true ,而且其数据类型也相同),所以最终返回的值是 true 

 

 

来源:网络

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值