关于js回调方法 js递归时使用方法

js中递归调用本身可以这样:

function a1(n){
a1(n)
}
但是如果需要在参数n进行自增的情况下判断会出错:

function a1(n){
if(n>10) return 'aaa';
n++;
a1(n)
}
此时执行 a1(1)时得到的结果只能是 ‘undefined’
经过一番研究发现想到得到正确的结果 ‘aaa’
则需要这样

function a1(n){
if(n>10) return 'aaa';
n++;
return a1(n)
}
因为如果不在执行下一次a1时将其作为结果返回,则第一轮执行a1时其实已经结束了,作为后续执行的a1应该就会仅执行而没有返回结果给任何函数或变量或方法,仅仅是执行了而已,而不会对第一次执行有任何影响。关于js回调方法 js递归时使用方法

posted @ 2017-11-30 13:01  小菜鸟工作室  阅读(1470)  评论(0编辑  收藏  举报