javascript - JS函数return结果undefined
本文介绍了javascript - JS函数return结果undefined的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
var k = (function fun(x) {
if(x>0) {
x--;
console.log(x);
} else{
console.log("lala");
return "lala";
}
fun(x);
})(3)
console.trace(k);
打印的结果是
2
1
0
lala
undefined
(anonymous) @ test.html:47
为什么是undefined呢!???
解决方案
k就是你的fun(3)
, fun(3)
按照你代码,没有显式给出返回值,默认就是返回的 undefined
。
如果你要做递归的话,应该 给 里面的 fun(x)
加上 return 变成 return fun(x);
如此就能让k为 lala
了。
这篇关于javascript - JS函数return结果undefined的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文