9.計時器 定時器

1. setInterval()

計時器,每隔一個指定時間段,重復(fù)執(zhí)行的代碼塊或方法,以毫秒為單位,最小為10-15ms
有返回值,是頁面中第幾個計時器返回值就是幾
在火狐中,返回值從2開始
在其他瀏覽器,返回值從1開始
計時器中可嵌套計時器,但是不允許嵌套?。?!

var set1 = setInterval(function () {
        box1.style.backgroundColor = `rgb(${rand(0, 255)},${rand(0, 255)},${rand(0, 255)})`;
    }, 500);

清除計時器

clearInterval()可取消由setInterval()設(shè)置的timeout,可以直接運行,但是一般有觸發(fā)條件
clearInterval(set1); 可寫計時器名或計時器ID

清除頁面全部計時器

\color{orange}{注意:}必須寫在頁面底部

 function clearIntervalAll(){
        // res可以得到頁面所有定時器
        // 根據(jù)clearInterval可以使用id清除計數(shù)器的原理
        // 借助 for 循環(huán) 將 id 寫到 每一個 clearInterval 里面
         // 這樣就可以清除頁面全部定時器
        var res=setInterval(function(){})
        for(var i=0;i<res;i++){
            clearInterval(i);
        }
    }

2. setTimeout()

定時器,規(guī)定指定時間ms后,執(zhí)行一次

 var i = 10;
    setInterval(function(){
        console.log(i--);
    },1000)

3. 閉包

定義:

在函數(shù)內(nèi)部嵌套定義一個函數(shù),在內(nèi)部函數(shù)中,操作外部函數(shù)的變量,并在函數(shù)外調(diào)用內(nèi)部的操作函數(shù),才會形成閉包

特點:

可以使外部函數(shù)的局部變量暫存,不會銷毀

用途:

避免全局變量污染,變量長期駐扎在內(nèi)存中

總結(jié):

函數(shù)內(nèi)聲明一個函數(shù),并對外層函數(shù)內(nèi)的變量進行操作,而且在函數(shù)體外部觸發(fā)內(nèi)部函數(shù),這其中所形成的的閉合回路叫閉包

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

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容