javascript - 从它调用的函数中中止外部函数

标签 javascript function closures

是否有可能让 youthbox 中返回/停止执行?直接,而不是像这样:

function youth(){
  var check = true;

  function box(){
    //code
    check = false;
  }

  //code
  while(check){
    //code;
  }
  return false;    
}

(其中有一个 check 变量被 box 更改)

最佳答案

不,你不能,除非你从内部函数抛出一个异常(但这并不真正算作“返回”,而且它无论如何都不是一个好的设计模式)。

允许一个函数让它的调用者返回一个值是没有意义的,因为调用函数甚至可能没有在相同的上下文中声明——也许是其他一些函数接受了一个函数参数,并且传递了-in 函数不应该能够修改被调用函数的行为。

关于javascript - 从它调用的函数中中止外部函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4582057/

相关文章:

javascript - 如何洗牌一个NodeList

C++ - 错误 : 'function' was not declared in this scope

swift - 我如何得到一个数组?

javascript - 来自数组的 AutoSuggest

javascript - 如何在 Vuejs/Javascript 中将对象元素推送到数组

delphi - 在Delphi中保存指向指定函数的指针

c++ - 如何摆脱这些警告?

swift - 在 Swift 3 中,比较两个闭包的方法是什么?

swift - 内部闭包的捕获列表是否需要将 `self` 重新声明为 `weak` 或 `unowned`?

javascript - 使用 ng-href 传递 $location.search 参数