1

我的问题是一个看似简单的问题。

我有两个函数,function_a() 和 function_b(),它们显示/隐藏一个 div,并返回布尔值。

我有条件

if(function_a() && function_b())
{
     //do stuff
}

但是,如果 function_a() 返回 false,则 function_b() 似乎根本没有执行。但是,我希望它们都运行,因为我希望它们显示/隐藏各自的 div。

如果第一个函数返回 false,为什么第二个函数不运行,我如何实现我想要的?

谢谢

4

2 回答 2

5

如果第一个条件为假,第二个函数将永远不会执行,因为您有 && 条件。这就是 && 的工作原理。

&& 是逻辑运算符并评估操作的左侧,如果为真,则继续并评估右侧,否则它将停止并返回 false。

如果你想同时执行,则将返回值存储在某个变量中,然后放入逻辑

var a  = function_a();
var b  = function_b();

if(a && b){
 //do your stuff
}
于 2013-05-23T20:00:19.713 回答
3

在测试“真实性”之前,您需要将它们分配给变量:

var a = function_a(),
    b = function_b();

if(a && b)
{
 //do stuff
}

这样它们都运行,然后if语句可以检查true/false.

于 2013-05-23T19:58:16.343 回答