看看这个setTimeOut为什么要出错
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY onload="startMove()">
<Script Language="javascript">
function startMove()
{
var i;
i=0
i=i+1;
document.write(i);
//movingID =
setTimeout("startMove()", 1000);
}
</script>
</BODY>
</HTML>
问题点数:0、回复次数:4Top
1 楼eglic(圪圪) (理由永远是谎言,信仰永远是自慰)回复于 2005-01-03 11:37:14 得分 0
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY onload="startMove()">
<Script Language="javascript">
var i=0;
function startMove()
{
i=i+1;
document.body.innerHTML+=i.toString()+'<br />';
//movingID =
setTimeout("startMove()", 1000);
}
</script>
</BODY>
</HTML>
Top
2 楼0009(夏天以南)回复于 2005-01-03 11:42:09 得分 0
第一,你每次调用函数startMove(),得到的i都是1,注意把定义和初值放到函数外.
第二,你用的是document.write(i),就是说函数执行一次后,网页的源代码就变成i了,程序没了,当然出错.(个人理解,意思应该是对的,表达上可能不妥)Top
3 楼tyqtcq(乾途无量)回复于 2005-01-26 10:11:16 得分 0
如果使用 window 对象的 alert() 方法而不是 document.write(),则该脚本可以运行。
在调用 write( ) 方法时,如果该文档不处于在调用 write( ) 方法时的打开和分析的过程中,该方法将打开并清除该文档,所以它可能是有危险的。Top
4 楼chonboy(一只来自南方的羊)回复于 2005-01-26 11:18:19 得分 0
执行document.write(i);后,页面内容被重写为“1”,其他所有代码都被清除了,所以到了下个执行点时,浏览器没能找到函数对象Top




