javascript - JS函数return结果undefined

查看:489
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆