在编写JAVASCRIPT代码过程中,有时候会经常对函数进行自调用,也就是函数递归,
JAVASCRIPT允许函数递归但是有其自己的递归原则,
lihat salinan biasa ke cetak papan klip?
<mce:script type="teks/javascript"><!--
tipe var=6;
fungsi saat ini (a)
{
var i=0;
jika(a==tidak terdefinisi)
{
saat ini(1);
kembali;
}
if(document.getElementById("kursor"+a)==null&&type>a)
{
saat ini(a*2);
kembali;
}
nilai var=1;
sementara(ketik>=nilai)
{
obj=document.getElementById("item"+nilai);
if(obj!=null)obj.className='tersembunyi';
obj=document.getElementById("kursor"+nilai);
if(obj!=null)obj.className='di belakang';
saya++;
nilai=Matematika.pow(2,i);
}
if((obj=document.getElementById("item"+a))!=null)obj.className='show';
if((obj=document.getElementById("cursors"+a))!=null)obj.className='current';
}
// --></mce:skrip>
<mce:script type="teks/javascript"><!--
tipe var=6;
fungsi saat ini (a)
{
var i=0;
jika(a==tidak terdefinisi)
{
saat ini(1);
kembali;
}
if(document.getElementById("kursor"+a)==null&&type>a)
{
saat ini(a*2);
kembali;
}
nilai var=1;
sementara(ketik>=nilai)
{
obj=document.getElementById("item"+nilai);
if(obj!=null)obj.className='tersembunyi';
obj=document.getElementById("kursor"+nilai);
if(obj!=null)obj.className='di belakang';
saya++;
nilai=Matematika.pow(2,i);
}
if((obj=document.getElementById("item"+a))!=null)obj.className='show';
if((obj=document.getElementById("cursors"+a))!=null)obj.className='current';
}
// --></mce:skrip>
请看saat ini函数,函数体内嵌套了递归,这里是单项运行,即递归一次后便用return结束运行,
当然你也可以递归完后继续运行,JAVASCRIPT不排斥这个!
使用递归可以让你的代码看起来更完整,但是千万小心不能让他陷入死循环