JAVASCRIPT里的函数递归用法

王朝学院·作者佚名  2009-02-17
窄屏简体版  字體: |||超大  

在编写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不排斥这个!

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航