定時器

1,setTimeout(間隔延遲時間運行 以后不會運行)

1)全局作用域(window)下的內置函數(shù)

圖片.png

2)返回值:
setTimeout(function,dely),定時器的編號
3)運行機制--異步

 console.log("strat....");
 setTimeout("console.log("1")",1000);
 console.log("end....");
 //輸出:
            start....
            end....
            1

第一個參數(shù)是字符串、函數(shù)名、匿名函數(shù)
總結運行機制:
例子一:

 setTimeout("console.log("1")",0);
 一大段代碼需要運行1000ms

原理:1000ms后一大段代碼運行完成,立馬輸出1
例子二:

 setTimeout("console.log("1")",1000);
一大段代碼需要運行1000ms

原理:1000ms后一大段代碼運行完成,立馬輸出1
例子三:

 setTimeout("console.log("1")",1000);
一大段代碼需要運行2000ms

原理:2000ms后一大段代碼運行完成,立馬輸出1

執(zhí)行到setTimeout,把執(zhí)行函數(shù)放到隊列里面,后面的所有代碼放到隊列里面,執(zhí)行后面的所有代碼,當后面的所有代碼都執(zhí)行完成后如果時間已經(jīng)到了,立馬輸出setTimeout的函數(shù)的結果。

注意:延遲時間只是一個近似的時間,如:
延遲0ms :10ms后執(zhí)行
延遲9ms :10ms后執(zhí)行
延遲11ms:20ms后執(zhí)行
4)函數(shù)使用的特點
正確寫法:
setTimeout(fn,1000);//直接是函數(shù)的名稱沒有括號,1000毫秒后執(zhí)行
setTimeout(fn(),1000);//fn()是函數(shù)執(zhí)行,這里讀到fn()時,會立即執(zhí)行函數(shù)

2,setInterval(間隔設置時間運行,再過延遲時間運行)

圖片.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 從JS執(zhí)行機制說起 瀏覽器(或者說JS引擎)執(zhí)行JS的機制是基于事件循環(huán)。 由于JS是單線程,所以同一時間只能執(zhí)行...
    love2013閱讀 958評論 0 1
  • 1.什么是閉包? 有什么作用 定義:閉包就是嵌套在函數(shù)里面的內部函數(shù),并且該內部函數(shù)可以訪問外部函數(shù)中聲明的所有局...
    饑人谷區(qū)子銘閱讀 1,070評論 0 2
  • 原文地址:→傳送門 寫在前面 setTimeout()是大家再熟悉不過的定時器,但平時對定時器的了解甚少,于是想看...
    樓心漫閱讀 1,638評論 3 6
  • 一、什么是定時器 JS提供了一些原生方法來實現(xiàn)延時去執(zhí)行某一段代碼,下面來簡單介紹一下 setTimeout: 設...
    SSSSSSH閱讀 998評論 1 50
  • 你明知道這火花可以灼傷你 卻還義無反顧的全力以赴 你明知道這一切幻象都不過是個騙局 卻還天真的相信這一切都是真的 ...
    雪落無痕hh閱讀 140評論 0 0

友情鏈接更多精彩內容