再談定時器

2021-08-21 22:25:56 字數 1293 閱讀 4146

settimeout 和 setinterval兩個定時器都是接收兩個引數;

第乙個引數可以是字串或函式;

第二個引數是時間(單位是毫秒);如下圖:

重點關注第乙個引數用法,如下所示:

// 測試settimeout定時器

var test1 = function () ;

var test2 = function () ;

//寫法1

var t1 = window.settimeout("test1()",500);

//寫法2

var t2 = window.settimeout(test2,500);

//寫法3

var t3 = window.settimeout(function () ,500);

window.onclick = function () ;

//測試 setinterval定時器

var st1 = function () ;

var st2 = function () ;

//寫法1

var s1 = window.setinterval("st1()",500);

//寫法2

var s2 = window.setinterval(st2,2000);

//寫法3

var s3 = window.setinterval(function () ,1000);

window.onclick = function () ;

另外,settimeout 相比 setinterval 效能更好,我們可以用 settimeout  模擬 setinterval的效果,如下:

//測試 用 settimeout定時器 模擬實現 setinterval定時器 效果

var test3 = function () ,1000)

};test3();

window.onclick = function () ;

補充---有關定時器的id:

程式中的每個定時器(包括settimeout和setinterval兩個)都有乙個屬於自己的id,執行時會列印出來,如下所示:

for (var i = 1; i < 5; i++) , 1000 );

4;  //首先列印1個4,即定時器id,上面**其實建立了4個定時器,但預設只返回最後乙個的id,即會先輸出1個4;

5;  //其次列印4個5,這是定時器裡的閉包列印的;

註解定時器 原理暫且不談,定時器你當真會用?

先來看一段面試中的場景 面試官 我看你已經有一定工作年限了,那請問有沒有研究得比較深的一些技術棧呢?你 目前沒有太深的研究,暫時還主要是處於會使用的階段,我用過 能幹活肯定是沒問題的 面試官 那定時器在專案中有用過嗎,平時都是怎麼使用的?你 當然有,我們是基於springboot做的定時器,使用很簡...

Mysql 檢視定時器 開啟定時器 設定定時器時間

1.檢視是否開啟evevt與開啟evevt。1.1 mysql evevt功能預設是關閉的,可以使用下面的語句來看evevt的狀態,如果是off或者0,表示是關閉的。show variables like sche 1.2 開啟evevt功能 setglobal event scheduler 1 ...

定時器 STM32定時器 基本定時器1

我是鼎!定時器時鐘一定要明確其中有哪些變數。上圖為stm407資料手冊摘出來的,可能看不清楚,其實就蘊含了幾點資訊。注意一點,我們看圖2,我們以apb1舉例,上面掛著很多的外設,包括usart1 adc 以及定時器,我們知道apb1上面最高時鐘頻率為84mhz,但是定時器的時鐘是要在此基礎上乘2,也...