JavaScript倒計時定時器和間隔定時器使用詳解
定時器
在 js 里面,有兩種定時器,倒計時定時器 和 間隔定時器
倒計時定時器也叫一次性定時器或者叫延時定時器
間隔定時器也叫間歇定時器或者叫反復性定時器
倒計時定時器
倒計時多少時間以后執(zhí)行函數(shù)
語法: setTimeout(要執(zhí)行的函數(shù),多長時間以后執(zhí)行)
會在你設定的時間以后,執(zhí)行函數(shù)
var timerId = setTimeout(function () {
console.log('我執(zhí)行了')//1秒后執(zhí)行我執(zhí)行了 只執(zhí)行一次
}, 1000)
console.log(timerId) // 1 這個1說明頁面上只有一個定時器時間是按照毫秒進行計算的,1000 毫秒就是 1秒鐘
所以會在頁面打開 1 秒鐘以后執(zhí)行函數(shù)
只執(zhí)行一次,就不在執(zhí)行了
返回值是,當前這個定時器是頁面中的第幾個定時器
間隔定時器
每間隔多少時間就執(zhí)行一次函數(shù)
語法: setInterval(要執(zhí)行的函數(shù),間隔多少時間)
var timerId = setInterval(function() {
console.log('我執(zhí)行了')//間隔1秒執(zhí)行一次 我執(zhí)行了
}, 1000)
console.log(timerId);//1 這個1說明頁面上只有一個定時器時間和剛才一樣,是按照毫秒進行計算的
每間隔 1 秒鐘執(zhí)行一次函數(shù)
只要不關閉,會一直執(zhí)行
返回值是,當前這個定時器是頁面中的第幾個定時器
定時器的返回值
設置定時器的時候,他的返回值是部分 setTimeout 和 setInterval 的
只要有一個定時器,那么就是一個數(shù)字
var timerId = setTimeout(function () {
console.log('倒計時定時器')
}, 1000)
var timerId2 = setInterval(function () {
console.log('間隔定時器')
}, 1000)
console.log(timerId) // 1
console.log(timerId2) // 2js的異步代碼執(zhí)行機制
同步
代碼從上到下依次執(zhí)行, 上一行沒有執(zhí)行完畢, 下一行不會開始
異步
當 js 遇到異步代碼的時候, 會先拿出來, 放在異步隊列內(nèi)等待, 暫時不執(zhí)行
因為 js 是一個單線程的代碼, 同時只能做一個事情
同步和異步的執(zhí)行時間
同步代碼優(yōu)先執(zhí)行,執(zhí)行完了同步代碼以后在去執(zhí)行異步代碼。
異步代碼在宿主環(huán)境中執(zhí)行 執(zhí)行完畢以后存放到任務隊列中
同步代碼執(zhí)行完畢以后時間循環(huán)機制Event loop回去任務隊列中調(diào)用異步代碼
把異步任務添加到執(zhí)行棧中進行執(zhí)行
console.log('start') // start 第一打印出來的
setTimeout(function() {
console.log('timeout') //timeout 最后打印出來的
}, 0)
console.log('end')//end 第二打印出來的以上就是JavaScript倒計時定時器和間隔定時器使用詳解的詳細內(nèi)容,更多關于JavaScript定時器的資料請關注腳本之家其它相關文章!
相關文章
基于JavaScript實現(xiàn)猜數(shù)字游戲代碼實例
這篇文章主要介紹了基于JavaScript實現(xiàn)猜數(shù)字游戲代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07
JS實現(xiàn)JSON轉(zhuǎn)TypeScript接口的核心步驟
這篇文章詳細介紹了如何使用在線工具將JSON數(shù)據(jù)轉(zhuǎn)換為TypeScript接口代碼的全過程,工具通過輸入清洗、JSON解析、類型名生成、類型推斷、對象轉(zhuǎn)聲明文本等步驟,最終生成可讀性強且準確的TypeScript代碼,需要的朋友可以參考下2026-02-02

