the*_*ick 1 javascript if-statement logical-operators
我有3个JS函数a()b()c()
我想执行所有3并检查是否所有3都返回true然后我想调用函数yeah()或者调用函数boo()
我可以使用&&但它会短路,如果第一个或第二个返回false,则可能无法执行所有3个函数
所以
if(a() && b() && c()) { yeah(); } else { boo(); }
Run Code Online (Sandbox Code Playgroud)
不行!
你能建议一个更好的单行代码吗?
如果你想要一个单行,你也可以使用&而不是&&:
if(a() & b() & c()) { yeah(); } else { boo(); }
Run Code Online (Sandbox Code Playgroud)
或者,如果您想确切知道返回的函数数量是多少,则可以执行此操作:
if(a() + b() + c() == 3) { yeah(); } else { boo(); }
Run Code Online (Sandbox Code Playgroud)
示例:http://jsfiddle.net/DQkpM/1/