以下适用于任何布尔变量,但我在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种方法可以做同样的事情..任何其他整洁的方法?出于任何原因(或从语言到语言最兼容)是否存在“最佳”方法?
答案 0 :(得分:3)
我总是使用像this.checked = !this.checked
这样的东西,因为它是我所知道的最合乎逻辑且最易读的解决方案。此外,它适用于我使用的任何语言。