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

2022-03-07 23:21:20 字數 830 閱讀 1675

昨天寫匯出功能時,有個條件審核狀態,其中乙個審核狀態的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

關於redis傳值的問題

第一種方法 set 這樣在裡面什麼都不寫,然後在方法裡配置引數 public string setkeyandvalue string key,string value value key,value valopsstr.set key,value return set ok http localh...

關於傳值的小問題

include include int fun int a intmain 1.首先區域性變數的位址在函式退出之前位址是不會失效的,所以在呼叫fun 的過程中a的位址不會失效 2.從棧的角度看首先main建立棧,將a壓棧,然後fun建立棧,此時main棧沒問題,所以訪問沒問題 然後fun返回,fun...

Python的傳值和傳值

變數a傳入函式f之後,函式內部對a進行的操作會不會影響到函式外部的a?def f a a 1 99a 1,2,3 f a print a 1,99,3 有影響def f a a 1 a 1 2,3 f a print a 1,2,3 無影響classa def init self,v self.v ...