function MyFunction () {
if (SomeCondition) {
MyInnerFunction(SomeParam);
return;
}
if (SomeOtherCondition) {
MyInnerFunction(SomeOtherParam);
return;
}
if (SomeThirdCondition) {
MyInnerFunction(AnotherParam);
return;
}
function MyInnerFunction(Param) {
// Do some work here
// HERE: I want return from MyFunction
}
}
如您所见,当MyInnerFunction
返回时,下一个要执行的语句是MyFunction
的return
语句。有没有办法消除所有这些返回语句,以便 MyFunction
的返回在 MyInnerFunction
中执行?
谢谢。
最佳答案
您可以重新格式化代码,以便您的 if 条件仅修改参数。 然后你只需在最后用正确的参数调用你的方法
function MyFunction () {
var params;
if (SomeCondition)
params = SomeParam;
else if (SomeOtherCondition)
params = SomeOtherParam;
else if (SomeThirdCondition)
params = AnotherParam;
MyInnerFunction(params);
}
关于javascript - 从内部函数返回外部函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16991597/