给出以下代码:
function two() {
return "success";
}
function one() {
two();
return "fail";
}
如果通过调用函数one()来测试代码,则总会出现“失败”。
问题是,如何只通过调用函数two()来返回函数one()中的“success”?
这甚至可能吗?
此致
答案 0 :(得分:6)
function one() {
return two();
}
答案 1 :(得分:6)
你不能从Javascript(或许多其他语言,afaik)中调用它的函数返回一个函数。 你需要一个()的逻辑来做到这一点。 E.g:
function one() {
return two() || "fail";
}
答案 2 :(得分:3)
你可以使用try-catch Block,如果你的函数一个预期可能的非本地返回以及函数二这样使用异常:
function two() {
throw {isReturn : true, returnValue : "success"}
}
function one () {
try {
two()
} catch(e) {
if(e.isReturn) return e.returnValue;
}
return "fail";
}
,我相信。
答案 3 :(得分:2)
function one() {
return two();
}