0

是否可以通过另一个功能停止一个功能?

我想要这样的东西:

 function foo()
 {
   bar();
   /*if is ok, then continue, else break*/
 }

 function bar()
 {
   if(!/**condition**/) stop foo();
 }

我知道这可以通过使用这样的东西来实现:

  function foo()
  {
    if(!bar()) return;
  }

但也许有更好的方法?

样本 :

  var dk = new function() {
   this.doSomething() {
     this.em("some_id") || return;
   };

    this.em(data) { 
      return document.getElementById(data);
    };
  };
4

2 回答 2

0

在您的函数内部,您无法告诉调用函数停止执行。

您建议的第二个版本是实现此行为的常见做法 - 如果函数成功则让函数返回true,如果不成功false,则让调用函数决定要做什么(即中断其执行)。

另一种方法可能是抛出异常。你应该考虑自己在你的情况下什么可能更有用

于 2012-06-13T09:59:57.510 回答
0

我想你已经回答了自己..

bar()函数可以进行所有你想要的检查或代码然后它返回truefalse调用函数foo()

根据返回的值,您决定是继续执行代码还是停止代码执行。

于 2012-06-13T10:01:23.277 回答