先看一个例子
alert(0 == "");
运行结果是啥?
回答是0==
的同学真心可以洗洗睡了...
回答是false的同学还是很有必要继续读下去的...
答案是true
,注意不是'true'
也不是"true"
。
OK,为啥呢,很简单,JS中==会先转换类型,然后再判断值是否相等。
刚刚那个""是字符串类型,而0是数字类型,所以先把""转换为数字类型,正好""对应的数字类型为0,所以左右相等了,所以结果为true。
以下的情况也都是true,因为在判断之前先转换了类型。
0 == ""
0 == false
"" == false
1 == "1"
"1"==true
OK,那么有时候啊,这种逻辑其实不大对。空字符串跟假有什么关系呢?==这种运算符也太不严谨了,哈哈,没关系哦,JavaScript中还有一个强大的运算符===,强大之处在于,===先判断类型是否一样,如果两边类型不同,直接就返回false,如果类型相同的情况,在去判断值,所以在大多数情况下,===才是我们想要的那个等于。
例如:
1 == "1" // 判断结果为真
alert(1 === "1"); // 判断结果为假,因为一上来,类型就不同
所以需要对JavaScript类型加以了解,就能准确的判断到底是真,还是假。
OVER。
點(diǎn)擊查看更多內(nèi)容
3人點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得
100積分直接送
付費(fèi)專(zhuān)欄免費(fèi)學(xué)
大額優(yōu)惠券免費(fèi)領(lǐng)