javascript中的setTimeout方法参数中的方法中的参数怎样放入对象数组呢? javascript中的setTimeOut方法参数中调用的方法中的参数是个对象数组,第一次调用执行时对象数组中的元素可以找到。但是当定时器的时间到了时,定时器第一次调用执行时那个对象数组中的元素就找不到了?不知道是怎么回事!请各位前辈们指点一下!谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function changeState(agentArray, time) { alert("begin"); for(var agentIndex in agentArray) { var agent = agentArray[agentIndex]; var agentDiv = document.getElementById(agent.id); if (agentDiv.firstChild != undefined) { //var imageSrc = agentDiv.firstChile.src; //var statu = getStatus(imageSrc); alert(agent.status); changeAgentState(agent); alert(agent.status); agentDiv.firstChild.src = agent.imageSrc; } } alert("end"); for (var index in agentArray) { alert(agentArray[index].id); alert(agentArray[index].status); } setTimeout("changeState('"+ agentArray +"',"+ time +")", time); } 就是下面这段代码中的setTimeout("changeState('"+ agentArray +"',"+ time +")", time);agentArray数组在下一次定时器执行的时候数组中的元素就丢失了! 你传的是字符串吧?setTimeout("changeState('"+ agentArray +"',"+ time +")", time);你已经用单引号把数组包起来了 是的现在解决了,谢谢楼主!修改成以下方式setTimeout(changeState(agentArray, time), time);就正常了! javascript中字符串替换的问题?谁帮我看看怎么解决!!! HTML ocx遮住DIV 取消IE默认的热键 要在这个函数里增加一个删除确认 怎么做 关于js建立一个table时候td td 之间有空格(有代码) 两个FRAME的通信问题(在线等) 如何判断控件的可见性************** 一个html如何生成多个不同内容的html.如何用javascript实现. 如何用 javascript 让自动计算机注销? 经理说界面在IE6下打开很慢 一星期了也没多少进展 我该怎么办 jquery ajax把值存入数据库 JS
{
alert("begin");
for(var agentIndex in agentArray)
{
var agent = agentArray[agentIndex];
var agentDiv = document.getElementById(agent.id);
if (agentDiv.firstChild != undefined)
{
//var imageSrc = agentDiv.firstChile.src;
//var statu = getStatus(imageSrc);
alert(agent.status);
changeAgentState(agent);
alert(agent.status);
agentDiv.firstChild.src = agent.imageSrc;
}
}
alert("end");
for (var index in agentArray)
{
alert(agentArray[index].id);
alert(agentArray[index].status);
}
setTimeout("changeState('"+ agentArray +"',"+ time +")", time); }
setTimeout("changeState('"+ agentArray +"',"+ time +")", time);
agentArray数组在下一次定时器执行的时候数组中的元素就丢失了!
setTimeout("changeState('"+ agentArray +"',"+ time +")", time);
你已经用单引号把数组包起来了
修改成以下方式setTimeout(changeState(agentArray, time), time);就正常了!