2012-08-25 27 views
0

我想了解JavaScript中的一元運算符,並在此處找到此參考指南http://wiki.answers.com/Q/What_are_unary_operators_in_javascript,我瞭解大多數示例,但我正在嘗試解決如何使用這樣的:在javascript中一個變量的邏輯相反值的一個例子

!a; // Logical opposite of a in an example. 

舉例來說,如果我這樣做:

a = true; 
!a; 
document.writeln(a); 

我想這將是假的,但它輸出真實的。

什麼是一個很好的代碼示例,我可以沿着!a的方向使用某些東西來了解它是如何工作的?

回答

3

您沒有分配!a任何變量。 a仍然如此。

你想要做的是什麼,

a = true; 
a = !a; 
document.writeln(a); 
+0

這絕對是有道理的,但我不從該網頁我列舉([HTTP明白://wiki.answers .com/Q/What_are_unary_operators_in_javascript](http://wiki.answers.com/Q/What_are_unary_operators_in_javascript))是,據我所知,大多數「一元運算符」允許你改變一個值而不用將它們賦值給一個值。例如,如果你做'a = 0;一個++; document.writeln(a);'a will = 1。我認爲他們可以單獨操作的事實使得一元運算符成爲可能,但也許情況並非如此? – fakeguybrushthreepwood

+0

是的,這是一個++,a--,++ a, - a。但不適用於!a,+ a,-a。 – abhshkdz

+0

對於++,a--,++ a,--a有沒有技術術語/名稱?換句話說,一個獨立的方式改變了它的價值? – fakeguybrushthreepwood

1

!afalse,但你不救的a新值,所以輸出a仍然true

嘗試:

document.writeln(!a); 
1
a = !a; 

你沒有的!a結果分配到變量。嘗試這個。

2

如Evil_skunk所述,您不存儲該值。所以,你需要做的要麼是:

document.writeln(!a); 

或本:

a = !a; 
document.writeln(a); 
相關問題