翻转布尔变量的简写
Posted
技术标签:
【中文标题】翻转布尔变量的简写【英文标题】:Shorthand for flipping a boolean variable 【发布时间】:2012-12-08 00:22:12 【问题描述】:如何在 javascript 中翻转布尔变量的值,而不必两次包含变量名? 所以
foobarthings[foothing][barthing] = !foobarthings[foothing][barthing];
没有写两次foobarthings[foothing][barthing]
。
【问题讨论】:
这其实很聪明。没想到 奇怪,考虑到foo++
存在。不能有foo!!
什么的吗?
【参考方案1】:
没有比你目前拥有的更短的方法了。
【讨论】:
这不完全正确,有not
这样的操作符:ver inverse = return !foo;
是完全有效的
@JacobSchneider 您发布的代码在语法上无效,并且 OP 已经展示了 !
运算符的知识。【参考方案2】:
你可以这样做:
foo ^= 1
但这确实在 0 和 1 之间切换 foo,而不是 true 和 false。
【讨论】:
但是你可以这样做(foo ^= 1) == true
(必须是==
不是 ===
)【参考方案3】:
var value = true;
alert(value);
value ^= true;
alert(value);
你可以在这里得到 1 或 0
【讨论】:
这算不算短手?【参考方案4】:要在 JS 中翻转布尔变量的值,您需要如下语法:
return !foo;
真的就这么简单……
或者你可以做(foo ^= 1) == true
(必须是==而不是===)
【讨论】:
问题是在做赋值和翻转布尔状态时避免重复名称。 我只使用一次变量名 用户想要将翻转后的值分配回相同的变量名,这个答案没有涵盖。【参考方案5】:您可以在执行它或检查条件的地方只使用 foo 和 !foo。
【讨论】:
不,我需要在其中存储相反的值。以上是关于翻转布尔变量的简写的主要内容,如果未能解决你的问题,请参考以下文章