手记

关于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应该就会仅执行而没有返回结果给任何函数或变量或方法,仅仅是执行了而已,而不会对第一次执行有任何影响。

0人推荐
随时随地看视频
慕课网APP