0
我目前是JavaScript的初學者,主要是Java代碼。 我的問題是關於定期調用document.write("string here")
(每1/2秒)將任何新的未打印聊天消息追加到客戶端。我早先嚐試使用下面的代碼:如何在JavaScript中爲聊天應用程序產生時間延遲?
<html>
<body onload="yantra();">
<script type="text/javascript">
x = 0;
function yantra(){
document.write("Hello<br>");
i = 1;
for(i = 0; i < 100; i++){
setTimeout("writeOneNum()", 1000);
}
}
function writeOneNum(){
x =x + 1;
document.write(x+"<br>");
}
function blank(){}
</script>
</body>
</html>
而不是它每1000毫秒打印1到100,因爲我預計它打印;實際上,它一次打印1到100(意思是沒有任何延遲)。
所以,你說JavaScript與Java代碼相比有輕微的轉折?我得到的是,在某種程度上(在JavaScript中),與Java相比,(理論級別)的所有語句都是同時執行的,它們按順序執行。那麼,我是否正確? – Catfish 2010-01-12 11:39:13
for循環本身將在不到一毫秒的時間內執行,並且在這一毫秒內,您將命令'在1000毫秒內執行此功能'100次。 setTimeout不會暫停for循環的執行,它會立即繼續循環。除非您使用某種睡眠功能,否則這應該在所有語言中都相似。 – 2010-01-12 12:06:37