我如何才能继续'如果'语句来比较作为参数的多个函数返回值
How can I continue an 'if' statement to compare multiple function return values as parameters?
我有一个函数,它试图确定一个函数的结果是否为true,第二个函数的结论是否为true。
function foo() {
var result = false;
if (/*condition is true*/) result = true;
return result;
}
function bar() {
var result = false;
if (/*condition is true*/) result = true;
return result;
}
if (foo() && bar()) {
// Both are true
}
我的问题是,如果第一个函数返回false,它就不会继续"if"语句并调用第二个函数或对它们进行比较
即使第一个函数调用返回false,我如何让"if"语句继续?
Javascript将在知道结果后立即短路if
,而不计算其余项。如果你想保证foo()
和bar()
总是被调用,你可以这样做:
var fooResult = foo();
var barResult = bar();
if (fooResult && barResult) {
// Both are true
}
您正在使用&&
,如果第一个条件失败,它将不会执行第二个条件。
如果您想同时执行这两个函数,请先执行这些函数,并将结果存储在变量中,然后进行比较。
function foo() {
var result = false;
if (/*condition is true*/) result = true;
return result;
}
function bar() {
var result = false;
if (/*condition is true*/) result = true;
return result;
}
var firstResult = foo(),
secondResult = bar();
if(firstResult && secondResult) {
}
最简单的选择是:
if (foo() & bar()) {
// Both are true
}
只需放置单个&而是两个&;。短路AND(&&)从不计算if语句的第二个参数,若第一个参数为false。但是逻辑AND(&)将计算第二个参数,即使第一个参数为false。
相关文章:
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 仅使用特定参数返回特定值
- 将返回值作为主干视图方法之间的参数传递
- 将一个函数作为参数传递给另一个函数,每次调用函数时检查返回值
- 按参数更改函数的返回值
- 使用参数调用 javascript 函数并在页面加载中读取返回值
- 使用isNan()函数将参数从html传递给javascript,并检查值然后返回值
- 传递一个promise的返回值作为另一个的参数
- 使用不同的参数多次调用同一函数.完成时:在其他函数中使用每个返回值
- 在 javascript 中获取函数返回值作为参数
- 如何打印或调用一个具有多个参数的函数的返回值
- 可以从Javascript函数参数返回一个值
- 文档集合(类型数组)在JSDoc中返回值和参数
- javascript块中的XSLT参数返回不正确的值
- 从函数返回值作为jQuery参数的值
- 是否有某种方式,我可以传递一个辅助函数的返回值到另一个作为Handlebars参数
- 在jquery的另一个函数参数中使用返回值
- JavaScript缓存返回值的函数有多个参数
- Javascript函数参数的返回值
- 带参数的调用函数和带其他参数返回值的调用函数有什么不同