递归返回值为undefined
//随机生成一个数字
(function randomNum(){
var a = parseInt(Math.random()*2000);
if(a>100&&a<2000){
return a;
}else{
randomNum();
}
})()
//随机的返回值中出现undedined
原因:当a不符合条件的时候,执行内部函数randomNum()返回的是一个数值,外层函数无返回值,故为undefined
解决方法(加retrun返回函数值)
(function randomNum(){
var a = parseInt(Math.random()*2000);
if(a>100&&a<2000){
return a;
}else{
return randomNum();
}
})()