满足特定条件时停止JavaScript函数


69

当满足给定条件时,我找不到建议的部分停止功能的方法。我应该使用类似exit还是的东西break

我目前正在使用此:

if ( x >= 10 ) { return; }  
// other conditions;

Answers:


84

Return是退出函数主体的方式。您使用的是正确的方法。

我想,根据您的应用程序的结构,您还可以使用throw。通常,这需要将对函数的调用包装在try / catch块中。


感谢您的确认。谷歌搜索找不到此答案。
Rhys

8
@Wolle-您会注意到我都将其列为替代方法,并且需要注意的是,对该函数的调用需要包装在try / catch块中。根据功能,项目范围以及功能的完成,引发退出异常可能是完全合适的。没有对OP实施的深入了解就无法知道。无论哪种方式,我的回答都是使用return,而不是throw
gddc 2014年

抛出异常退出是一个非常可行的选择。例如,调用没有有效变量的函数将引发ReferenceError异常。我在班级setter函数只能从取值0100,如果该值是该范围之外我抛出一个RangeError异常。异常是为了在功能未预期的情况下停止流动。规则的例外
Intervalia

33

使用return

if(i==1) { 
    return; //stop the execution of function
}

//keep on going

1
仅当您期望布尔值返回时,返回false才有意义,并且在其他情况下将返回true。他可能会返回一个数组值,一个状态指示符或一个提示,说明该条件使条件使函数达到了多少距离。
gddc

11

return语句从函数内的任何位置退出函数:

function something(x)
{
    if (x >= 10)
        // this leaves the function if x is at least 10.
        return;

    // this message displays only if x is less than 10.
    alert ("x is less than 10!");
}


-1

尝试使用return语句。效果最好。满足条件时停止功能。

function anything() {
    var get = document.getElementsByClassName("text ").value;
    if (get == null) {
        alert("Please put in your name");
    }

    return;

    var random = Math.floor(Math.random() * 100) + 1;
    console.log(random);
}

-1
if(condition){
    // do something
       return false;

}

这不能为问题提供答案。要批评或要求作者澄清,请在其帖子下方发表评论。-来自评论
MoxxiManagarm

我建议添加一些有关此答案如何帮助解决问题的描述(return;和之间的区别return false;),以便OP和其他人可以从中学习。
Cleptus
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.