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

tco*_*ooc 4 javascript closures function

是否可以youth从内部执行返回/停止执行box?直接,不是这样的:

function youth(){
  var check = true;

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

  //code
  while(check){
    //code;
  }
  return false;    
}
Run Code Online (Sandbox Code Playgroud)

(有check变量的变量box)

cdh*_*wie 8

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

允许函数使其调用者返回一个值是没有意义的,因为调用函数甚至可能不在同一个上下文中声明 - 也许它是一些接受函数参数的函数,以及传入的函数不应该能够修改被调用函数的行为.