执行3个返回true/false的函数,如果所有函数都返回true,则执行其他操作,没有短路

Execute 3 functions that return true/false and if all return true do something or else, no short circuiting

本文关键字:函数 执行 true 返回 其他 操作 短路 如果 false 3个      更新时间:2023-09-26

我有3个JS函数a() b() c()

我想执行所有3个并且检查是否所有3个都返回true然后我想调用函数yeah()或者调用函数boo()

我可以使用&&但是如果第一个或第二个函数返回false,它将短路并且可能不会执行所有3个函数

      if(a() && b() && c()) { yeah(); } else { boo(); }

不工作!

你能建议一个更好的单行代码吗?

如果需要一行代码,也可以使用&代替&&:

if(a() & b() & c()) { yeah(); } else { boo(); }

或者你可以这样做,如果你想确切地知道有多少函数返回true:

if(a() + b() + c() == 3) { yeah(); } else { boo(); }

示例:http://jsfiddle.net/DQkpM/1/

A &b,C就可以了。它将执行这三个函数。