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;}
,则只需编写。