天天看點

setTimeout 和 setInterval 的差別setTimeout(cb, ms)setInterval(cb, ms)

原文位址:Node.js 全局對象 | 菜鳥教程

參考資料:

MDN setTimeout

MDN setInterval

兩者都是延時調用,但是

- setTimeout() 隻執行一次指定函數,

- 而 setInterval() 會不停地調用函數,直到用 clearInterval() 被調用或視窗被關閉

setTimeout(cb, ms)

setTimeout(cb, ms) 全局函數在指定的毫秒(ms)數後執行指定函數(cb)。:setTimeout() 隻執行一次指定函數。

傳回一個代表定時器的句柄值。

執行個體

建立檔案 main.js ,代碼如下所示:

function printHello(){
   console.log( "Hello, World!");
}
// 兩秒後執行以上函數
setTimeout(printHello, );
           

執行 main.js 檔案,代碼如下所示:

$ node main.js
Hello, World!
           

setInterval(cb, ms)

setInterval(cb, ms) 全局函數在指定的毫秒(ms)數後執行指定函數(cb)。

傳回一個代表定時器的句柄值。可以使用 clearInterval(t) 函數來清除定時器。

setInterval() 方法會不停地調用函數,直到 clearInterval() 被調用或視窗被關閉。

執行個體

建立檔案 main.js ,代碼如下所示:

function printHello(){
   console.log( "Hello, World!");
}
// 兩秒後執行以上函數
setInterval(printHello, );
           

執行 main.js 檔案,代碼如下所示:

$ node main.js
           

Hello, World! Hello, World! Hello, World! Hello, World! Hello, World! ……以上程式每隔兩秒就會輸出一次”Hello, World!”,且會永久執行下去,直到你按下 ctrl + c 按鈕。

繼續閱讀