JS技术

JAVASCRIPT里的函数递归用法

字号+ 作者: 来源:    2014-11-17 20:00 我要评论( )

JAVASCRIPT里的函数递归用法,阅读JAVASCRIPT里的函数递归用法,在编写JAVASCRIPT代码过程中,有时候会经常对函数进行自调用,也就是函数递归,JAVASCRIPT允许函数递归,但是有其自己的递归原则,view plaincopy to clipboardprint?mce:script type=

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

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

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 学习JavaScript之this,call,apply

    学习JavaScript之this,call,apply

    2016-01-28 20:45

  • 零基础入门学习Python(10):函数 - qq_33256568的博客 - 博客频道 - CSDN.NET qq_3

    零基础入门学习Python(10):函数 - qq_33256568的博客 - 博客频道

    2015-12-15 09:04

  • 【JavaScript.2】辨析Typeof操作符作用,罗列JS五大数据类型阵容 - 孟东辉 廊坊师范学院信息技术提高班

    【JavaScript.2】辨析Typeof操作符作用,罗列JS五大数据类型阵容 -

    2015-12-15 09:00

  • 图像处理中的数学原理详解19——函数的极限 - 白马负金羁的专栏 - 博客频道 - CSDN.NET 白马负金羁的专栏

    图像处理中的数学原理详解19——函数的极限 - 白马负金羁的专栏 - 博

    2015-12-14 19:00

网友点评
e