JavaScript中兩個感嘆號的作用

2021-06-28 04:38:30 字數 478 閱讀 7926

var o=; 

var test=!!o.flag;//等效於var test=o.flag||false; 

alert(test); 

由於對null與undefined用!操作符時都會產生true的結果,所以用兩個感嘆號的作用就在於,如果明確設定了o中flag的值(非null/undefined/0""/等值),自然test就會取跟o.flag一樣的值;如果沒有設定,test就會預設為false,而不是null或undefined。 

在jquery中比較經典的例子如下:

grep: function( elems, callback, inv )  

} return ret; 

} 在使用grep函式的時候,如果給出了第三個引數且非null/undefined/0""/等值,則inv為true,否則為false。這樣做的目的就是保證inv和retval的值都只能在true/false中取,而非其它值,為後續判斷提供便利。

小技巧兩個感嘆號(兩個 )連用

兩個 是為了把非0值轉換成1,而0值還是0。如下表 1010 11001 在php持術或其他語言中我們經常會看到感嘆號的用法,有一定程式語言基礎的朋友都知道單個感嘆號的作用是取反的意思,也就是取當前結果的反面,如 a true var dump a 12 34 a true var dump a a...

JavaScript合併兩個Json物件

如何將兩個json物件合併成新的json物件呢?mergejsonobject function jsonbject1,jsonbject2 for var attr in jsonbject1 for var attr in jsonbject2 return resultjsonobject 複...

javascript中兩個等號和三個等號的區別

首先,equality 等同,identity 恒等。兩邊值型別不同的時候,要先進行型別轉換,再比較。不做型別轉換,型別不同的一定不等。下面分別說明 先說 這個比較簡單。下面的規則用來判斷兩個值是否 相等 1 如果型別不同,就 不相等 2 如果兩個都是數值,並且是同乙個值,那麼 相等 例外 的是,如...