javascript问题,简单的递归函数

javascript问题,简单的递归函数,javascript,recursive-query,Javascript,Recursive Query,我真的不太熟悉javascript及其语法,但我已经解决了这个函数,当我递归调用它时,我总是会出错 function loading(id, formid, point) { document.getElementById(id).innerHTML='<span class="red">Please wait until this text disappears! Uploading'+point+'</span>'; document.getEleme

我真的不太熟悉javascript及其语法,但我已经解决了这个函数,当我递归调用它时,我总是会出错

function loading(id, formid, point)
{
    document.getElementById(id).innerHTML='<span class="red">Please wait until this text disappears! Uploading'+point+'</span>';
    document.getElementById(formid).submit();
        if(point='...')
            {point='';}
        else
            {point+='.';}
        setTimeout('loading('+id+', '+formid+', '+point+')',10);
}
因此,似乎变量formid没有传递给recursiv调用。有人知道为什么吗

谢谢


Maenny

当您再次向函数中求值
formid
时,您没有用引号括住它,因此您传递的是一个未定义的变量,而不是字符串

无论如何,eval是邪恶的。不要将字符串传递给
setTimeout
,传递函数

setTimeout(function () {
    loading(id, formid, point);
},10);

当您再次将
formid
求值到函数中时,不会用引号将其括起来,因此传递的是未定义的变量,而不是字符串

无论如何,eval是邪恶的。不要将字符串传递给
setTimeout
,传递函数

setTimeout(function () {
    loading(id, formid, point);
},10);

好的,谢谢,这对recursiv调用有效,但实际上并不是我想要的:)我希望在上传过程中出现一条文本,其中最后3点(上传…)将以“…”计数出现,然后再次消失,重新开始。我原以为上面的函数可以做到这一点,但事实并非如此。知道为什么吗?好的,谢谢,这对recursiv调用有效,但实际上并不是我想要的:)我希望在上传过程中出现一条文本,其中最后3点(上传…)将以“…”计数出现,然后再次消失,重新开始。我原以为上面的函数可以做到这一点,但事实并非如此。你知道为什么吗?把
if(point=''.')
改为
if(point=''.')
。“=”表示赋值(将值“…”赋给变量点),您需要使用“==”Doh!我本来可以亲眼看到的。。。谢谢将
if(点='…')
更改为
if(点='…')
。“=”表示赋值(将值“…”赋给变量点),您需要使用“==”Doh!我本来可以亲眼看到的。。。谢谢