如何在 box
中直接使 youth
返回或停止执行?不是类似以下的方式:
function youth(){
var check = true;
function box(){
//code
check = false;
}
//code
while(check){
//code;
}
return false;
}
(其中有一个名为“check”的变量,它会随着“box”的改变而改变)
如何在 box
中直接使 youth
返回或停止执行?不是类似以下的方式:
function youth(){
var check = true;
function box(){
//code
check = false;
}
//code
while(check){
//code;
}
return false;
}
不行,除非你从内部函数中抛出异常(但这并不能算作“返回”,而且这也不是一个很好的设计模式)。
允许一个函数使其调用者返回一个值是没有意义的,因为调用函数可能甚至没有在相同的上下文中声明 -- 也许它是一些其他接受函数参数的函数,而传入的函数不应该能够修改被调用函数的行为。
if (!box()) { return; }
。 - cdhowie