由於人們通常使用可以在Javascript中array.length低於0?
array.length < 1
檢查,如果數組是空的,而不是
array.length === 0
我不知道是否有這樣的情況array.length可能低於0
由於人們通常使用可以在Javascript中array.length低於0?
array.length < 1
檢查,如果數組是空的,而不是
array.length === 0
我不知道是否有這樣的情況array.length可能低於0
沒有,根據the specification,陣列的length
是非負整數:
每個
Array
對象具有一個length
屬性,其值始終爲小於2的非負整數。^ 。
檢查完全正常,兩者對所有陣列都有相同的結果。
你會發現人主張=== 0
超過< 1
上的表現的理由,因爲===
失敗如果早期類型的操作數不匹配而<
嘗試這樣做的強制類型轉換。但在這裏無關緊要;類型匹配。我知道沒有證據表明在這個用例中兩者都比另一個更快(我已經測試過它;可悲的是jsPerf已經關閉了,所以我不能發佈測試),但即使是這樣,必須按字面比較數十億次次,以查看即使是最小的真實世界影響。
感謝這個偉大的答案。 – AlexMA
您的問題不完整。不要忘記排除小數長度,比如0.5;) – hugomg
@missingno:我繼續並回答那個部分。 ;-) –