我有一个函数:

function myfunction() {
  if (a == 'stop')  // How can I stop the function here?
}

JavaScript中是否有类似exit()的东西?


当前回答

你可以用return。

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

这将向调用函数的对象发送一个undefined的返回值。

var x = myfunction();

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

当然,您可以指定不同的返回值。无论返回的值是什么,都将使用上面的示例记录到控制台。

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

其他回答

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

返回错误;比只是回报要好得多;

使用return将停止函数并返回未定义的值,或者返回使用return命令指定的值。

function myfunction(){
    if(a=="stop"){
        //return undefined;
        return; /** Or return "Hello" or any other value */
    }
}

如果你正在使用jquery。这将阻止函数冒泡到,因此父函数调用它也应该停止。

  function myfunction(e)
  {
       e.stopImmediatePropagation();
       ................
  }

输入任何抛出错误的随机命令,例如:

exit

or

die:-)

我不喜欢回答那些不是真正解决方案的问题……

...但当我遇到同样的问题时,我采取了以下解决方案:

function doThis() {
  var err=0
  if (cond1) { alert('ret1'); err=1; }
  if (cond2) { alert('ret2'); err=1; }
  if (cond3) { alert('ret3'); err=1; }
  if (err < 1) {
    // do the rest (or have it skipped)
  }
}

希望对大家有用。