2011-03-23 80 views
7

可能重複:
What is the !! operator in JavaScript?javascript:什麼是不是? (!!運營商)

什麼是不是沒有在JavaScript我有這見過幾次:)

function foo(){ 
    return !!(window.history); 
} 
+2

完全重複:http://stackoverflow.com/questions/784929/what- is-the-operator-in-javascript – ig0774 2011-03-23 11:44:06

+1

它是重複的,但重複的問題幾乎沒有提到它被使用的原因。在你的情況下,它是[底部的答案](http://stackoverflow.com/questions/784929/what-is-the-operator-in-javascript/4339463#4339463):這是一個成語,檢查'是定義'。 – Rup 2011-03-23 11:48:35

+0

@rup我同意那裏的答案很奇怪,我不明白他們中的一半答案和他們的技術學士學位,他們應該更加友好,他們的答案並不是假設每個人都在他們的水平:)尤其是當有人問起:) – Val 2011-03-23 12:05:06

回答

11

個我相信這是用來強制布爾類型...

例如

if("true" == true){ 
    alert("1"); 
}else{ 
    if(!!"true" == true){ 
     alert("2"); 
    } 
} 

警報2不是1

+1

這是壞的。嘗試'if(!!「false」== true){alert(「false」); ''看看會發生什麼。 – Randolpho 2013-02-28 19:48:29

+9

我沒有說你應該使用它 – sharpner 2013-03-01 14:39:57

3

我想它用來[不那麼]隱式地將值轉換爲布爾類型