我在if块中有两个语句,它们都链接到将返回bool的函数。对于要运行的代码,这两个语句都必须为true,但我希望它们都被检查,即使第一个是假的。相关代码:
if (myFunc(one) && myFunc(two)) {
//execute
}
myFunc将在返回false之前执行一些代码,但如果返回false,则不会在两个代码上执行此代码。
我让这个工作,但感觉就像一个黑客:
if ((myFunc(one) && myFunc(two)) || (myFunc(two) && myFunc(one))) {
//execute
}
有没有人有更好的解决方案?谢谢!
答案 0 :(得分:3)
另一种方式:
var first = myFunc(one),
second = myFunc(two);
if (first && second) {
//execute
}
在这种情况下,将首先执行这两个操作并稍后检查非假值。
答案 1 :(得分:1)
使用&运营商
看看这个example
function a (){
console.log(1);
return true;
}
function b (){
console.log(2);
return false;
}
if(b() & a() == true){
console.log('asas');
}