Web全棧20210102 js計時器

2021-10-16 02:17:45 字數 2356 閱讀 7415

計時器非同步:迴圈計時器setinterval()、一次性計時器settimeout()(上面這兩個計時器 視窗切出不會自動暫停)、按照螢幕重新整理頻率執行的計時器(視窗切出 自動暫停)

setinterval()方法的作用是每隔一段時間執行一次方法,清除函式效果的兩個方法是window.clearinterval()(window可以省略)

(1)setinterval()方法常用的語法如下:

setinterval(function,interval);

其中function是將要在間隔時間內執行的函式,interval是間隔的時間,單位是毫秒。

(2)clearinterval()方法的常用語法如下:

timer = setinterval(function,interval);

clearinterval(timer);

var count=0;

var timer=setinterval(function ()

},1000)

;//時間 ms

function loop()

setinterval

(loop,1000)

;setinterval

("loop()",1000)

; //給計時器裡面傳遞引數

var a=10;

setinterval(function (args)

,1000,a)

;for (var i = 0; i < 10; i++)

, 1000, i)

;}

settimeout()和cleartimeout()

可以看到timeoutalert()方法每隔1000毫秒呼叫自身,在控制台列印出當前timeout的值,timeout第一次使用

settimeout()後為1,每次增加1,cleartimeout()通過這個數字作為入參清除當前的settimeout()。

//一次性計時器

settimeout(function ()

,1000)

; function time()

settimeout

(time,1000)

;settimeout

("time()",1000)

; //把一次性計時器 該迴圈計時器

var timer=null;

var c=0;

loop()

; function loop()

//遞迴

timer=settimeout

(loop,1000);}

settimeout(function (args)

,1000,100)

;

//以上兩個計時器 this 指向window

// window.setinterval(function (),1000);

//要想保證計時器上下文 this指標一致

要想保證計時器上下文 this指標一致

var page =

,1000)

; var that = this;//不能用call

settimeout(function ()

, 1000);}

}

;

requestanimationframe 根據電腦的重新整理頻率走的 16ms 60hz,window.requestanimationframe() 類似一次性計時器

//根據不同瀏覽器做相容處理

var requestframe = window.requestanimationframe || window.webkitrequestanimationframe ||

window.mozrequestanimationframe || window.msrequestanimationframe ||

function (time)

var cancelframe = window.cancelanimationframe || window.webkitcancelanimationframe ||

window.mozcancelanimationframe || window.mscancelanimationframe ||

function (time)

; var count = 1;

var timer = null;

loop()

;function loop()

//呼叫計時器

timer = requestframe

(loop)

;}

JS全棧自學參考

近幾年,前端技術飛速發展,隨著html5 css3和es6等前端基礎規範的相繼出台並獲得多數瀏覽器的支援,前端的能力進一步被釋放。現代的前端技術不斷和後端技術,甚至是桌面客戶端技術相結合,可以說,基於js技術棧,已經可以滿足大多數系統的全棧開發了。雖然在某些場景下,有更好的解決方案,但是對於絕大多數...

Web全棧課程4 資料互動 http

http所有的資料請求對於伺服器的處理來說,都是表單提交 除了websocket 表單ajax jsonp websocket 1 3個版本 http1.0 http1.1 http2.0 2 http和https http 容易被攻擊被竊聽 https http secrity 安全,https需...

javascript全棧開發實踐 web 2

我們目前僅僅測試實現了鉛筆的功能。接下來我們繼續增加乙個新的功能 螢光筆。螢光筆通常是帶有一定顏色,並且具有半透明特性,可以把下面的字跡顯露出來。而為了在鉛筆和螢光筆之間進行切換,我們就需要增加兩個按鈕,來實現這個切換功能。如下 background lightgrey pencil onclick...