【摸鱼日记 -- JS “==“ 和 “===“ 的区别 : Null,NaN,undefined】

Js " == " 和 " === "的区别

首先来说明一下 "==" 和 "===" 所比较的是什么
" == " : 等同运算符,只比较值是否相等
" === " : 全等运算符,既比较值,也比较数据类型是否相等
下面先来做一些 基础的测试 :
这边要注意 : 
	在js中默认 true == 1,false == 0;
	
	var a = true;
	var b = 1var c = 2;
	console.log(a == b);  /true
	console.log(a == c);  /false
	console.log(a === b); /false  -- 数据类型不相等
	console.log(b == c);  /false  -- 类型相等 值不相等
Js中还有一些特殊的关键字 : null , NaN , undefined , 0
那么他们的计算是怎么样的呢?
  1 . 首先我们要知道他们的数据类型
  2 . 然后进行值与类型的相等比对
	var a = null , b = NaN;
	var c = undefined , d = 0;
	/1. 获取数据类型
	console.log(typeof null )   / object
	console.log(typeof NaN)     / number
    console.log(typeof undefined) / undefined
	/2. 进行对比  -- 其他的就不放出来了 因为全部为 false
	console.log(a == c); / true
	console.log(a === c); / false
看到这里是不是很好奇 ?
为什么 nall 会等于 undefined
  我们可以从Javascript规范中找到答案:
  规范中提到, 要比较相等性之前,不能将 null 和 undefined 转换成其他任何值,并且规定null 和 undefined 是相等的。
  null 和 undefined都代表着无效的值。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值