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

Javascript 检查函数是否返回true以执行另一个函数,javascript,Javascript,我已经用JS编写了一个表单验证,它以return(true)结尾 我只想检查check()函数是否返回true,我想执行另一个函数 function check() { ....validation code return true; } 我尝试过的代码如下: if(check() === true) { function() { //Another function code } } 首先,return不是一个函数,您可以这样做: return true; 现在,要仅执行

我已经用JS编写了一个表单验证,它以return(true)结尾

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

function check() {
....validation code
return true;
}
我尝试过的代码如下:

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

首先,
return
不是一个函数,您可以这样做:

return true;
现在,要仅执行
myFunction
,如果
check
返回
true
,可以执行以下操作:

check() && myFunction()
(function (){...})()
这是以下的简写:

if(check()){
    myFunction();
}
您不需要将
check
的返回值与
true
进行比较。它已经是布尔值了

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

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

您应该使用
返回true
和if语句不需要进行
==true
比较

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

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

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

function check() {
....validation code
return true;
}
您需要稍微更改第二个代码段,以便执行该函数,但是。。。最简单的方法是使用大括号将其包装为匿名函数:

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

您不是在肯定子句中调用函数,而是声明它。要调用匿名函数,请执行以下操作:

check() && myFunction()
(function (){...})()
你可以打字

$this.myFunction=function(){
//code here
}
如果
myFunction
函数为true,则要执行某些代码,可以使用布尔值 例如

if(//your function is true){

等等

check
可以返回
true
,如果(check())很好,你也不需要使用
如果(check())
很好,只需执行
如果(check()){…}
我认为这个问题可能离题了,因为答案似乎就在问题本身。关于要执行的函数,如果
check()
的计算结果为
true
-它实际上是在该条件之外的其他地方定义的吗?如果
if
是完全无用的。。。像这样的函数语句被提升,JS中没有块作用域,只有函数作用域。试试这个:
if(false){function test(){console.log(1)}}test()@Cerbrus:你的样本和我的样本不一样。函数声明可能会被挂起,但执行不正确-请看我的代码示例与编辑前答案中的内容匹配。现在你在
if
语句中有了一个完全无用的生命。看看OP请求的内容:“我只想检查check()是否返回true,执行另一个函数。”@Cerbrus-true,该函数不需要在那里声明。我的观点是,这个答案完全没有抓住问题的重点。如果语句为
true
,则OP只想运行一个函数。生活在这里没有任何意义。更不用说
return(something)
并没有试图将任何东西作为函数执行。这只是一些环绕在返回语句参数周围的括号。只是试图与OPs代码的方向保持一致。。。这可能真的没有必要。“我只想检查
check()
是否返回true,执行另一个函数。”如果OP想这样做,那么他的代码是错误的。修复代码以匹配需求,而不是更改结果以匹配OP的代码。