2012-08-25 23 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); 
相关问题