让函数"返回"超级函数?

Eli*_*ias 3 javascript return function super

给出以下代码:

function two() {
    return "success";
}

function one() {
    two();
    return "fail";
}
Run Code Online (Sandbox Code Playgroud)

如果通过调用函数one()来测试代码,则总会出现"失败".

问题是,如何只通过调用函数two()来返回函数one()中的"success"?

这甚至可能吗?

问候

jAn*_*ndy 6

function one() {
   return two();
}
Run Code Online (Sandbox Code Playgroud)


and*_*wmu 6

你不能从Javascript(或许多其他语言,afaik)中调用它的函数返回函数.你需要一个()的逻辑来做到这一点.例如:

 function one() {
     return two() || "fail";
 }
Run Code Online (Sandbox Code Playgroud)

  • 这没错.根据JavaScript的规则,如Web的Ancients所写,如果一个或运算符(`||`)没有计算为'falsy'值(例如false,undefined,null,0),它将返回第一个参数. ,""),否则它将评估并返回它的第二个参数. (4认同)