我需要执行两边&&
声明,但如果第一部分返回,则不会发生这种情况false
。例子:
function doSomething(x) {
console.log(x);
}
function checkSomething(x) {
var not1 = x !== 1;
if (not1) doSomething(x);
return not1;
}
function checkAll() {
return checkSomething(1)
&& checkSomething(3)
&& checkSomething(6)
}
var allValid = checkAll(); // Logs nothing, returns false
这里的问题是doSomething(x)
应该记录 3 和 6,但是因为checkSomething(1)
回报false
,其他检查将不会被调用。运行所有检查并返回结果的最简单方法是什么?
我知道我可以保存变量中的所有值并随后检查这些值,但是当我进行大量检查时,这看起来不太干净。我正在寻找替代方案。
使用单个 &。这是一个按位运算符。它将执行所有条件,然后返回结果的按位和。
function checkAll() {
return checkSomething(1)
& checkSomething(2)
& checkSomething(3)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)