javascript问题,简单的递归函数
我真的不太熟悉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
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!我本来可以亲眼看到的。。。谢谢