递归函数
递归函数就是在函数内部调用自己
如
var dic={};//定义一个空对象 function getElemId(elem){ //判断如果这个id存在 if(elem.id){ //给dic对象添加一个属性 dic[elem.id]=elem; } //循环这个大对象下的所有子对象 for(var i=0;i<elem.children.length.i++){ //递归函数 实现循环所有子对象 getElemId(elem.children[i]); } return dic; } 以上代码的实现场景为 有一个大的div ,div中还有一个div1,div1中有一个ul ul中有4个li …………列出所有id存在的元素对象 getElemId(document.body);
递归函数的执行方式,在函数内部遇到执行自己的函数(递归函数),他会复制自己的副本,之后会从最后的副本中一次返回给前一个如
他们综合到一起的话如
var i=0; var sum=0; function show(){ if(i>2){ return sum; } i++; sum+=i; return show(); 6 }