国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

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

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

問題描述

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

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

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

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

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

問題解答

回答1:

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

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

回答2:

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

回答3:

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

回答4:

先轉為數字0,然后再對比吧。

回答5:

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

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

我以為它不會彈,結果還是彈了。大多數情況還是length來判斷。當然length判斷元素個數的時候也是坑!

回答6:

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

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 怀柔区| 南开区| 宁陕县| 黄骅市| 蒙山县| 定日县| 龙山县| 梁山县| 潞城市| 杭锦旗| 厦门市| 尼玛县| 红河县| 洛川县| 德惠市| 威海市| 盈江县| 腾冲县| 观塘区| 闻喜县| 佳木斯市| 泰安市| 阿尔山市| 千阳县| 基隆市| 丹巴县| 桓台县| 抚宁县| 浠水县| 航空| 柳江县| 年辖:市辖区| 平阴县| 曲松县| 绍兴市| 莆田市| 靖安县| 垦利县| 博野县| 海原县| 青龙|