2013-08-06 47 views
2

我已經看到類似於b =!b的解釋。但是我對這個用法的理解不夠深入。不清楚這個變量的設置:var a =!1

是什麼

var a = !1;  

嗎?

+0

這意味着'a'是'false',並且它很沒用。也許'1'從服務器端輸出?然後它可能會有道理。 – bfavaretto

+2

@bfavaretto保存3個字節。英勇。 –

+0

謝謝,我一直試圖剖析代碼,試圖更好地理解不同的編程方法,並且我已經看到很多片段,這些片段變得複雜而簡單。 –

回答

6

a = !1是寫作的簡寫方式a = false。這通常在嘗試壓縮(縮小)JavaScript時使用,因爲它節省了三個字節。

如果你在普通的非縮小JS中看到這個,那麼有人可能是懶惰或混淆。

+1

不僅3個字節,而且還保存了3個擊鍵。時間===錢,有人正在SMART! 'sarcastic-face.gif' –

+0

@WesleyMurch:讓其他開發人員必須要求StackOverflow找出你的兩個字節不是很聰明。 – nneonneo

+1

也許我們正在被拖。 –

0

一般來說,!將顛倒其操作數的布爾值。

所以!atrue如果afalse或者這將是false如果atrue

希望幫助:)

0

!not運營商。因此! true等於false。它的結果將是truefalse

JavaScript中的所有值都是「truthy」或「falsy」。這描述了他們在需要booleantruefalse)的情況下的解釋。的 「truthy」 值

實施例:1,[],{}真,的 「falsy」 值 「文本」

實例:假,0 「」

!1是一個否定一個真實的價值,它會被認爲是虛假的。 b = !btoggler,它會將值從truthy更改爲falsy,反之亦然。

0

!運營商被稱爲Logical NOT運營商。

總之,如果以下值爲'truthy',則返回false,否則返回true

由於1是'truthy',因此您的示例!1顯示爲NOT 1,將返回false

相關問題