Javascript 如何返回从函数返回的值,该函数的值不是未定义的else“;“什么也不做”;在JS中

Javascript 如何返回从函数返回的值,该函数的值不是未定义的else“;“什么也不做”;在JS中,javascript,function,Javascript,Function,我有两个函数,比如 var a=函数(){ } var b=函数(){ } 我知道我可以有一个变量存储返回值并使用它,但最简单的方法是什么 function b() { // Return the value returned from a() if it returned something. var result = a(); if (result !== undefined) { return result; } // contin

我有两个函数,比如

var a=函数(){

}

var b=函数(){

}

我知道我可以有一个变量存储返回值并使用它,但最简单的方法是什么

function b() {
    // Return the value returned from a() if it returned something.
    var result = a();
    if (result !== undefined) {
        return result;
    }

    // continue with execution of b.
}
它不会区分从中产生的
未定义的

return;
return undefined;
从从

return;
return undefined;

但是如果您知道
a()
总是在
未定义
之外返回一个值,当它故意返回一个您可以依赖的值时
!==未定义的

您不必担心
a()
返回什么。只需将该返回值赋给一个局部变量,执行其他操作,然后返回该局部变量。如果
a()
有一个返回值,它将位于该局部变量中并返回。如果
a()
没有返回值,则局部变量的值将是
undefined
,这是您将从
b()
返回的值。这两种方法都有效

var b = function () {
     var retVal = a();

    // do other stuff

    return(retVal);   // works whether a() had a return value or not
}
你的问题我不确定。如果要测试
a()
的返回值以查看它是否有返回值,则可以执行以下操作:

var b = function () {
     var retVal = a();
     if (retVal === undefined) {
         // do one thing
     } else {
         // do another thing
     }

    // do other stuff

    return(retVal);   // works whether a() had a return value or not
}

这不是
if
的原理吗?我只是想知道是否有比将返回值存储在变量中并检查它更简单的方法