Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从外部函数调用的函数中中止外部函数_Javascript_Function_Closures - Fatal编程技术网

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

Javascript 从外部函数调用的函数中中止外部函数,javascript,function,closures,Javascript,Function,Closures,是否可以从框中执行返回/停止执行?直接,而不是像: function youth(){ var check = true; function box(){ //code check = false; } //code while(check){ //code; } return false; } (如果有一个check变量box发生变化)不,你不能,除非你从内部函数抛出一个异常(但这并不算是“返回”,而且它也不是一个好的设计模式)

是否可以从
框中执行
返回/停止执行?直接,而不是像:

function youth(){
  var check = true;

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

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

(如果有一个
check
变量
box
发生变化)

不,你不能,除非你从内部函数抛出一个异常(但这并不算是“返回”,而且它也不是一个好的设计模式)


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

您能准确地说出您想要实现什么吗?引用真实代码?@diftalfresh我修改了你文章的标题,试图更好地总结你的问题。如果我犯了错误,没有正确地总结,请修改它并狠狠地揍我一顿。谢谢,我只是想确保我没有遗漏一些重要的想法,使我的代码看起来像那样。@digitalFresh:函数的返回值始终可以用来完成这项任务。例如,如果内部函数想要继续执行,它可以返回true;如果(!box()){return;}
,则只需编写