關於js中空值比較和傳值的問題


昨天寫導出功能時,有個條件審核狀態,其中一個審核狀態的key為0,我也是醉了。

然后我注意到這方面的問題,在網上找了找,我的理解可能有點問題。但是目前也就是這樣了,以后在學習吧!

正文:

js中各種類型都是有個默認空值的,這個空值轉成boolean類型的時候就是false

null、undefined、0、"" 這些數值都是其對應數據類型上的無效值或空值。還有這五個值作!運算,結果全為:true

還有如果是json請求傳值的話,就是說如果轉成string類型的話:

1  String(undefined) -> "undefined"
2  String(null) -> "null"
3  String("") -> ""
4  String(0) -> "0"
5  String(false) -> "false"

這個轉換關系在做字符串累加時需要特別的注意。

 

 

相等運算符 (==、!=) 
如果兩表達式的類型不同,則試圖將它們轉換為字符串、數字或 Boolean 量。 
NaN 與包括其本身在內的任何值都不相等。 
負零等於正零。 
null 與 null 和 undefined 相等。 
相同的字符串、數值上相等的數字、相同的對象、相同的 Boolean 值或者(當類型不同時)能被強制轉化為上述情況之一,均被認為是相等的。 
其他比較均被認為是不相等的。 

恆等運算符 (===、!==) 
除了不進行類型轉換,並且類型必須相同以外,這些運算符與相等運算符的作用是一樣的。這個也就是說如果類型不一致。就算是1==="1"都是false


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM