Early exit from function?

Early exit from function?

I have a function:
function myfunction() {
if (a == ‘stop’) // How can I stop the function here?
}

Is there something like exit() in JavaScript?

Solutions/Answers:

Solution 1:

You can just use return.

function myfunction() {
     if(a == 'stop') 
         return;
}

This will send a return value of undefined to whatever called the function.

var x = myfunction();

console.log( x );  // console shows undefined

Of course, you can specify a different return value. Whatever value is returned will be logged to the console using the above example.

return false;
return true;
return "some string";
return 12345;

Solution 2:

Apparently you can do this:

function myFunction() {myFunction:{
    console.log('i get executed');
    break myFunction;
    console.log('i do not get executed');
}}

See block scopes through the use of a label: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label

I can’t see any downsides yet. But it doesn’t seem like a common use.

Derived this answer: JavaScript equivalent of PHP’s die

Solution 3:

This:

function myfunction()
{
     if (a == 'stop')  // How can I stop working of function here?
     {
         return;
     }
}

Solution 4:

function myfunction() {
     if(a == 'stop') 
         return false;
}

return false; is much better than just return;

Solution 5:

Using a little different approach, you can use try catch, with throw statement.

function name() {
    try {
        ...

        //get out of here
        if (a == 'stop')
            throw "exit";

        ...
    } catch (e) {
        // TODO: handle exception
    }
}

Solution 6:

if you are looking for a script to avoid submitting form when some errors found, this method should work

function verifyData(){
     if (document.MyForm.FormInput.value.length == "") {
          alert("Write something!");
     }
     else {
          document.MyForm.submit();
     }
}

change the Submit Button type to “button”

<input value="Save" type="button" onClick="verifyData()">

hope this help.