成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 【快速判斷數(shù)組為空】[]==false 為什么返回true?

瀏覽:136日期:2023-03-14 14:09:48

問題描述

console.log([]==false); //輸出為trueconsole.log([’1’]==false);//輸出為false

可見,這可以很快速判斷數(shù)組是否為空,但是原理上有些疑惑。已知:

1.相等操作符'==':先轉(zhuǎn)換再比較。 如果有一個操作數(shù)是布爾值,則在比較相等性之前將其轉(zhuǎn)換為數(shù)值false轉(zhuǎn)換為0,true轉(zhuǎn)換為1。

2.如果一個操作數(shù)是對象,另一個操作數(shù)不是,則調(diào)用對象的valueOf()方法,用得到的基本類型值進行轉(zhuǎn)換。

所以[]==fasle的右邊會被轉(zhuǎn)換成0。那左邊呢?是怎樣轉(zhuǎn)換的呢?

問題解答

回答1:

這個送給你,javascript 的對比表格:Relational and Equality Operators

javascript - 【快速判斷數(shù)組為空】[]==false 為什么返回true?

回答2:

http://tech.youzan.com/javasc... 看完你會懂的

回答3:

因為他們都會轉(zhuǎn)化為布爾值進行比較, []==false => true == false //false

回答4:

先轉(zhuǎn)為數(shù)字0,然后再對比吧。

回答5:

講道理判斷數(shù)組為空用這個是不行的吧!

if([]){ alert(’1111’);}

我以為它不會彈,結(jié)果還是彈了。大多數(shù)情況還是length來判斷。當(dāng)然length判斷元素個數(shù)的時候也是坑!

回答6:

只能說js的內(nèi)部機制是空數(shù)組就是false所以false==false成立啊!那非空數(shù)組自然轉(zhuǎn)換成true了true==false就不成立啊!有啥難理解的嗎?

標(biāo)簽: JavaScript
相關(guān)文章: