Javascript 检查函数是否返回true以执行另一个函数
我已经用JS编写了一个表单验证,它以return(true)结尾 我只想检查check()函数是否返回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; 现在,要仅执行
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的代码。