提前退出功能?

2020/09/28 09:41 · javascript ·  · 0评论

我有一个功能:

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

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

您可以使用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() {myFunction:{
    console.log('i get executed');
    break myFunction;
    console.log('i do not get executed');
}}

通过使用标签查看块范围:https//developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/label

我还看不到任何缺点。但这似乎并不常见。

得出以下答案:JavaScript等同于PHP的消亡

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

return false; 比仅仅好多了 return;

这个:

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

使用略有不同的方法,可以将try catch,和throw语句一起使用

function name() {
    try {
        ...

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

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

如果您正在寻找避免在发现某些错误时提交表单的脚本,则此方法应该有效

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

将“ 提交按钮”类型更改为“按钮”

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

希望对您有所帮助。

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

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

我不喜欢回答不是真正的解决方案的事情...

...但是当我遇到同样的问题时,我做了以下解决方法:

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)
  }
}

希望它对任何人都有用。

我认为引发新错误是停止执行的好方法,而不仅仅是返回或返回false。对于前。我正在验证多个文件,这些文件最多只能允许五个文件在单独的功能中上传。

validateMaxNumber: function(length) {
   if (5 >= length) {
        // Continue execution
   }
   // Flash error message and stop execution
   // Can't stop execution by return or return false statement; 
   let message = "No more than " + this.maxNumber + " File is allowed";
   throw new Error(message);
}

但是我从主流功能中将此功能称为

  handleFilesUpload() {
      let files =  document.getElementById("myFile").files;
      this.validateMaxNumber(files.length);
}

在上面的示例中,除非抛出新的Error,否则我无法停止执行。仅当您处于执行的主要功能时,仅return或return false才有效。

出口(); 可用于下一次验证。

如果您使用的是jquery。这应该使函数不再冒泡,因此调用它的父函数也应停止。

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

键入任何引发错误的随机命令,例如:

exit

要么

die:-)
本文地址:http://javascript.askforanswer.com/tiqiantuichugongneng.html
文章标签:
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!