WEB开发网
开发学院网页设计JavaScript JAVASCRIPT里的函数递归用法 阅读

JAVASCRIPT里的函数递归用法

 2009-02-13 20:06:02 来源:WEB开发网   
核心提示:在编写javaSCRipT代码过程中,有时候会经常对函数进行自调用,JAVASCRIPT里的函数递归用法,也就是函数递归,Javascript允许函数递归,即递归一次后便用return结束运行,当然你也可以递归完后继续运行,但是有其自己的递归原则,view plaincopy to clipboardPRint?<

在编写javaSCRipT代码过程中,有时候会经常对函数进行自调用,也就是函数递归,

Javascript允许函数递归,但是有其自己的递归原则,

view plaincopy to clipboardPRint?
<mce:script type="text/javascript"><!-- 
var type=6; 
   function current(a) 
   { 
     var i=0; 
     if(a==undefined) 
       { 
         current(1); 
         return; 
       } 
     if(document.getElementById("cursors"+a)==null&&type>a) 
     { 
       current(a*2); 
       return; 
     } 
     var value=1; 
     while(type>=value) 
     { 
       obj=document.getElementById("item"+value); 
       if(obj!=null)obj.className='hidden'; 
       
       obj=document.getElementById("cursors"+value); 
       if(obj!=null)obj.className='behind'; 
       i++; 
       value=Math.pow(2,i); 
     } 
     if((obj=document.getElementById("item"+a))!=null)obj.className='show'; 
     if((obj=document.getElementById("cursors"+a))!=null)obj.className='current'; 
       
   } 
// --></mce:script> 
<mce:script type="text/javascript"><!--
var type=6;
   function current(a)
   {
     var i=0;
     if(a==undefined)
       {
         current(1);
         return;
       }
     if(document.getElementById("cursors"+a)==null&&type>a)
     {
       current(a*2);
       return;
     }
     var value=1;
     while(type>=value)
     {
       obj=document.getElementById("item"+value);
       if(obj!=null)obj.className='hidden';
      
       obj=document.getElementById("cursors"+value);
       if(obj!=null)obj.className='behind';
       i++;
       value=Math.pow(2,i);
     }
     if((obj=document.getElementById("item"+a))!=null)obj.className='show';
     if((obj=document.getElementById("cursors"+a))!=null)obj.className='current';
     
   }
// --></mce:script>

请看current函数,函数体内嵌套了递归,这里是单项运行,即递归一次后便用return结束运行,

当然你也可以递归完后继续运行,JAVASCRIPT不排斥这个!

使用递归可以让你的代码看起来更完整,但是千万小心不能让他陷入死循环

Tags:JAVASCRIPT 函数 递归

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接