2 u012470804 u012470804 于 2016.01.20 15:06 提问

JavaScript的一点基础小问题

今天突然在群里看到一个问题,想请问一下各位大神到底是哪里出现了问题.
function random_num(param){
var new_test=randomNum(1,3); //randomNum是自己写的取1-3的随机数
if(param==new_test){
rand_num(new_test);
}else{
return new_test;
}
} <--
alert(random_num(1));
当取到new_test=1时,去执行if里面的方法,如果后面取得2或3,执行else
return new_test
如图图片说明

        在执行下一步的时候
        ![图片说明](http://img.ask.csdn.net/upload/201601/20/1453273477_67665.png)
        new_test被重置为1,且return undefined.求解为什么会这样

2个回答

caozhy
caozhy   Ds   Rxr 2016.01.20 15:10
已采纳

rand_num(new_test);
->
return rand_num(new_test);

showbo
showbo 回复飞翔的小野鸭: 楼主去了解下递归,你没return执行到这个分支就没有返回值了
接近 2 年之前 回复
u012470804
u012470804 为什么相当于return rand_num(new_test)啊..
接近 2 年之前 回复
u011249920
u011249920   2016.01.20 15:33

if下面没有return

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!