检查函数是否返回true以执行另一个函数

时间:2015-01-21 14:29:23

标签: javascript

我使用JS编写了一个表单验证,以return(true);

结尾
function check() {
  ....validation code
  return(true);
}

我想要的是,需要检查check()函数是否返回true,我想执行另一个函数。

我尝试过的代码如下:

if(check() === true) {
  function() {
    //Another function code
  }
}

5 个答案:

答案 0 :(得分:16)

您应该使用return true;,并且您的if语句不需要进行=== true比较。

function check() {
  //validation code
  return true;
}

if(check()) {
  //Another function code
 }

<强> JSFIDDLE

答案 1 :(得分:6)

首先,return不是函数,你可以这样做:

return true;

现在,要仅在myFunction返回check时才执行true,您可以执行以下操作:

check() && myFunction()

这是:

的简写
if(check()){
    myFunction();
}

您无需将check的返回值与true进行比较。它已经是一个布尔值。

现在,您可以在myFunction()语句中使用任何JavaScript代码,而不是if。如果你真的想要使用,例如,myFunction,你必须确保你已经在某处定义了它,首先:

function myFunction() {
    // Do stuff...
}

答案 2 :(得分:0)

您只需修改第一个代码段即可。 return是一个关键字,您要做的就是将其作为一个函数执行。

function check() {
....validation code
return true;
}

你需要稍微更改你的第二个片段,然后执行这个函数...最简单的方法是使用花括号将它包装为匿名函数:

if(check()) {
       (function() {
                    //Another function code
       })();
 }

答案 3 :(得分:-2)

你没有在你的肯定条款中调用该函数,只是声明它。要调用匿名函数,请执行以下操作:

(function (){...})()

答案 4 :(得分:-2)

你可以输入

$this.myFunction=function(){
//code here
}

并在 myFunction 函数为真时执行一些代码,您可以使用布尔值 例如

if(//your function is true){

等等