Javascript 如何返回从函数返回的值,该函数的值不是未定义的else“;“什么也不做”;在JS中
我有两个函数,比如 var a=函数(){ } var b=函数(){ } 我知道我可以有一个变量存储返回值并使用它,但最简单的方法是什么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
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
的原理吗?我只是想知道是否有比将返回值存储在变量中并检查它更简单的方法