Javascript接近布尔反转

时间:2013-04-09 21:27:00

标签: javascript boolean-operations

以下适用于任何布尔变量,但我在javascript中编写了一个小函数,它反转了给定复选框中的检查,变得无聊,并想知道我可以压缩多少。

开始于:

checkbox = document.getElementById('checkbox');
checkbox.checked = (checkbox.checked ? false : true);

然后转移到

checkbox = document.getElementById('checkbox');
checkbox.checked = !(checkbox.checked);

然后

document.getElementById('checkbox').checked ^= 1;

我无法找出合乎逻辑的一元方法,比如

!(document.getElementById('checkbox').checked);

但是我发现 - 虽然++没有(绝对值?)

但是有效
document.getElementById('checkbox').checked--;

我也不确定js(或任何语言)是否支持对等式左侧变量的隐式引用,如:

document.getElementById('checkbox').checked = !(left.side);

通常有1000种方法可以做同样的事情..任何其他整洁的方法?出于任何原因(或从语言到语言最兼容)是否存在“最佳”方法?

1 个答案:

答案 0 :(得分:3)

我总是使用像this.checked = !this.checked这样的东西,因为它是我所知道的最合乎逻辑且最易读的解决方案。此外,它适用于我使用的任何语言。