js== 与 === null与undefined区别 void

==

同类型比较

左右两边为字符,比较的是unicode值
左右两边为字符串,比较的是两边字符串第一个字符的unicode值
NaN不和任何值相等
在这里插入图片描述
在这里插入图片描述

不同类型比较

数字与非数字 ==> 非数字先转换为数字再判断
NaN不和任何值相等

''==0            true
' '==0            true
''==false      true
' '==false      true
18=='18'      true
1==true       true
undefined == null   true

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

===

既包含数值比较有包含类型比较

如何判断NaN

isNaN(value)

null与undefined区别

历史原因,先设置null后设置undefined
typeof(null) === object
typeof(undefined) === undefined

Number(null) == 0
Number(undefined) == NaN

parseInt(null) == NaN
parseInt(undefined) == NaN

undefined为window关键字
console.log(void 0) undefined
console.log(void 1) undefined
console.log(void 2) undefined
… undefined
console.log(void 任意类型数据) undefined

console.log(undefined in window)		//true
console.log(null in window)				//false
function Fn(){
    let undefined = 10
    console.log(undefined)
}
Fn()									//10


function Fn(){
    let undefined = 10
    console.log(void 0)
}
Fn()								//undefined

null == undefined true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值