2013-12-24 23 views
-2

我有兩個示例代碼。
兩者是相同的目的,以增加可變count 1,並且打印該值。
但是用setTimeout第一示例使用setInterval,和第二個例子。是否有可能使setTimeout函數的行爲像繼續中的setInterval一樣?

var count = 0; 

// First example. 
var time = setInterval(function() { 
    document.body.innerHTML = count; 
    count++; 
}, 1000); 

// Second example.   
var time = setTimeout(function() { 
    document.body.innerHTML = count; 
    count++; 
}, 1000); 

爲什麼在第一個例子中增加的值的變量和連續打印其值,但在第二實施例增加1變量的值,並且一旦打印其值,然後停止並不會繼續?

我問這個問題,因爲我看過一些例子,連續使用setTimeout也是如此。

+5

因爲這是setTimeout'和'setInterval'之間'的區別。 – elclanrs

+0

爲什麼有人拒絕我的問題,我做了什麼錯誤? –

+1

我沒有投票,但你沒有給出任何理由,爲什麼這些功能不能滿足你的期望。他們爲什麼不像他們那樣行事?你爲什麼期望他們表現得一樣?有兩個功能提供相同的功能會有什麼意義?似乎缺乏基礎研究,也許是基本的推理。 –

回答

0

如果你想的setTimeout爲「表現」之類的setInterval你應該做這樣的事情

var time = function(){ 
    document.body.innerHTML = count; 
    count++; 
    setTimeout(time, 1000); 
} 

time(); 
+0

是的,這就是我的意思,因爲我已經看到一些例子使用'setTimeout'連續工作。 –

+0

謝謝,但你能告訴我這個代碼是如何一步一步工作的('執行優先級')嗎? –

+0

首先,聲明一個名爲time的函數。函數將變量'count'寫入主體,然後函數每1000毫秒調用一次 – lleon

3

的setTimeout()方法調用函數或毫秒的指定次數後計算表達式。 SetTimeout 將僅被調用一次。

的setInterval()方法調用函數或在指定的時間間隔計算表達式(以毫秒爲單位)。 的setInterval()方法將繼續調用函數直到clearInterval()被調用,或窗口被關閉。

+1

謝謝你的回答,但我不是那個意思。 –

相關問題