如何在一个主函数中调用2个子函数

时间:2013-05-04 07:24:11

标签: javascript

我在JavaScript中有几个函数,其结果我想在另一个函数的if语句中使用。

我的问题是只有第一个列出的子函数似乎返回结果。当我交换函数的顺序时,我仍然只从第一个列出的子函数中获得返回结果。

我是初学者,并不是所有熟悉功能的人。请参阅下面的示例。请具体说明任何答案。

function main(a) {
  return functone(x);  // name of function is actually "functone" for this example
  return functtwo(y);  // name of function is actually "functtwo" for this example

  if(functone(x)!="true") {
    return false;
  } else {
    if(functtwo(y)!="true) {
      return false;
    } else {
      return true;
    }
  }
}

2 个答案:

答案 0 :(得分:2)

您无法从一个函数返回两个值。所以你的代码应该是

function main(a){
if(functone(x)!="true")
  {return false;} else 
     {if(functtwo(y)!="true")
         {return false;} else {return true;}
     }
}

答案 1 :(得分:0)

出现,只有两个被调用的函数都要返回true

典型的模式是:

function main(a) {
    return functone(x) && functwo(y);
}

请注意,在这种情况下,如果functwo的结果为funcone(或更严格地说是“假”,即包括{0}},则false被调用null0)因为&&运算符是所谓的短路运算符。如果可以直接从左侧操作数确定操作结果,则不评估右侧操作数。

如果您希望调用functwo而不管funcone的结果如何,请将&&运算符替换为按位&运算符。

请注意,您的funcXXX函数应该(如此函数)返回属性布尔值truefalse,而不是字符串"true"