2015-06-15 72 views
-1

我是JavaScript新手,試圖編寫執行以下操作的代碼: 編寫一些向控制檯寫入「1」的代碼,然後1秒後向控制檯寫入「2」,然後在此之後2秒寫入「3」到控制檯,...,直到達到「10」。
我試過setTimeout和setInterval +結合setTimeout,我似乎得到相同的持續性錯誤:document.write可以是一種形式的評估。這是什麼意思,是否有任何不同的方式,我可以編碼以實現我要找的結果?「document.write可以是eval的一種形式」?

var count = 1; 
    setTimeout(function() { 
    document.write(count); 
    count += 1; 
    }, 1000; 
    print { 
    document.write(10), 10000 
    }); 

我明白有時會發生這種情況,當我有一個未定義的參數,但在這種情況下,我相信計數是定義?

+2

代碼包含語法錯誤。它不應該運行。我懷疑你得到的消息*「document.write可以是eval的一種形式」*如果你不*使用'document.write'。 –

+0

你在哪裏運行該代碼?你在哪裏得到這個錯誤? – Bergi

+0

我使用模擬器運行代碼http://repl.it/。 –

回答

1

根據你的問題,我會有點不同。 這將工作,但我不能完全肯定這是你在找什麼

var run = function(start, stop){//In your case, start is 1 and stop is 10 
 
    var currentPos = start; 
 
    var loop = function(){ 
 
    setTimeout(function(){ 
 
     document.write(currentPos + "<br/>"); 
 
     if(++currentPos <= stop) 
 
     loop(); 
 
    }, (currentPos - 1) * 1000); 
 
    } 
 
    loop(); 
 
} 
 
run(1, 10);