js中,在写getNextElement()函数时,递归时为什么中间那个return要存在,请看下面的代码

http://img.mukewang.com/56fe877d0001f71709540248.jpg

直接getNextElement(node.nextSibling),前面不加return为什么不行?能否解释详细一些,多谢啦。

慕妹6594235
浏览 1338回答 2
2回答

安静_天空

你可以理解为递归就是不断调用自身方法直到条件不被满足,然后退出该方法。满足两点:2个条件:    1)有反复执行的过程(调用自身)    2)有跳出反复执行过程的条件(递归出口)就拿你的例子来说,当参数Node传递给本方法后,当满足第二个if(判断)条件时,返回的是:开始调用自身进行下一次判断。举个例子,求n!(求某一个数的阶乘,假设n为100):double fun(int n)   {//出口 if(n==0||n==1)     return 1; else//反复执行的过程 return n*fun(n-1);// 100*99(第二次调用fun(100-1))*98(第三次调用fun(99-1))*97(第四次调用fun(98-1))*.....*1(返回的                              //    结果就是1了)* 0返回的结果(同1一样的结果)。最后输出的就是100*99*...*1}

qq_星空物语_3

如果满足条件,要不要返回一个值为外面所用
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript