js清除未知定時器的方法

js清除未知定時器的方法

在須要有實時性更新數據的項目中,咱們常常會用到不少定時器,咱們可能須要一個能夠一次性清除全部定時器的方法,而且不經過指定ID一個一個去清除,如下提供兩種解決方案:.net

 

1.定義全局變量,經過js遍歷清除

這種方法在項目中所使用到的定時器必須賦值記錄到定義好的全局變量中,實現模擬代碼以下:firefox

var pageTimer = {} ; //定義計算器全局變量
//賦值模擬
pageTimer["timer1"] = setInterval(function(){},2000);
pageTimer["timer2"] = setInterval(function(){},2000);
//所有清除方法
for(var each in pageTimer){
    clearInterval(pageTimer[each]);
}
 

2.暴力清除方式

設置一個比較大的數值,循環清除,模擬代碼以下:code

for(var i = 1; i < 1000; i++) {
clearInterval(i);
}

分析:實際上暴力清除的方式是不可取的,在不得已狀況下才使用,在IE下,定時器返回值在IE下面是8位數字如:248147094,而且起始值不能肯定,而Chrome和firefox下是從1開始的個位數字,通常項目仍是建議第一種,而且第一種的擴展性也好,好比能夠作個方法,清除除了指定定時器以外的全部定時器。blog

 

引:http://blog.csdn.net/canpark/article/details/8969183it

相關文章
相關標籤/搜索