以下适用于任何布尔变量,但我在 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 种方法可以做同样的事情。还有其他巧妙的方法吗?出于任何原因(或从语言到语言最兼容)是否有“最佳”方法?