有没有办法检查函数是否返回任何值。例如:
if(loop(value) --returns a value--) {
//do something
}
function loop(param) {
if (param == 'string') {
return 'anything';
}
}
有没有办法检查函数是否返回任何值。例如:
if(loop(value) --returns a value--) {
//do something
}
function loop(param) {
if (param == 'string') {
return 'anything';
}
}
不返回对象或原始类型的函数返回未定义。检查未定义:
if(typeof loop(param) === 'undefined') {
//do error stuff
}
没有的函数return
将返回undefined
。你可以检查一下。
但是,return undefined
函数体中的 a 也会返回undefined
(显然)。
你可以这样做 :
if(loop(param) === undefined){}
每次都有一个例外,如果你的函数 return undefined
,它将进入循环。我的意思是,它返回一些东西,但它是未定义的......
如果你想在函数返回的情况下对函数的输出做一些事情,首先将它传递给一个变量,然后检查该变量的类型是否为"undefined"
.
testme("I'm a string");
testme(5);
function testme(value) {
var result = loop(value);
if(typeof result !== "undefined") {
console.log("\"" + value + "\" --> \"" + result + "\"");
} else {
console.warn(value + " --> " + value + " is not a string");
}
function loop(param) {
if (typeof param === "string") {
return "anything";
}
}
}