js计数器要领setInterval()、clearInterval()、setTimeout()和clearTimeout()

要领形貌
setInterval周期性地挪用一个函数(function)或许实行一段代码。
clearInterval作废掉用setInterval设置的反复实行行动。
setTimeout在指定的耽误时间以后挪用一个函数或许实行一个代码片断。
clearTimeout要领可作废由 setTimeout() 要领设置的 timeout。

setInterval()

window.setInterval()要领,周期性地挪用一个函数(function)或许实行一段代码。

语法

var intervalID = window.setInterval(func, delay[, param1, param2, …]);
var intervalID = window.setInterval(code, delay);

详解

intervalID 是此反复操纵的唯一辨识符,能够作为参数传给clearInterval()。  
func 是你想要反复挪用的函数。  
code 是另一种语法的运用,是指你想要反复实行的一段字符串组成的代码(运用该语法是不引荐的,不引荐的缘由和eval()一样)。  
delay 是每次耽误的毫秒数 (一秒即是1000毫秒),函数的每次挪用会在该耽误以后发作。和setTimeout一样,现实的耽误时间可能会稍长一点。  

须要注重的是,IE不支持第一种语法中向耽误函数通报分外参数的功用.假如你想要在IE中到达一样的功用,你必需运用一种兼容代码 (检察callback arguments 一段)。

例子

jssetInterval(function(){
    console.log("log")
},1000)

clearInterval()

window.clearInterval() 作废掉用setInterval设置的反复实行行动.

语法

window.clearInterval(intervalID)

详解

在指定的耽误时间以后挪用一个函数或许实行一个代码片断。  
intervalID是你想要作废的反复行动的ID,这个ID是个整数,是由setInterval()返回的。 

例子

jsvar pageTimer = {} ; //定义计算器全局变量
//赋值模仿
pageTimer["timer1"] = setInterval(function(){},2000);
pageTimer["timer2"] = setInterval(function(){},2000);
//悉数消灭要领
for(var each in pageTimer){
    clearInterval(pageTimer[each]);
}
js// 暴力消灭
for(var i = 1; i < 1000; i++) {
    clearInterval(i);
}

剖析:现实上暴力消灭的体式格局是不可取的,在不得已情况下才运用,在IE下,定时器返回值在IE下面是8位数字如:248147094,而且起始值不能肯定,而Chrome和firefox下是从1最先的个位数字,平常项目照样发起第一种,而且第一种的扩展性也好,比方能够做个要领,消灭除了指定定时器以外的一切定时器。

setTimeout()

在指定的耽误时间以后挪用一个函数或许实行一个代码片断。
window.setTimeout()

语法

var timeoutID = window.setTimeout(func, delay, [param1, param2, …]);
var timeoutID = window.setTimeout(code, delay);

详解

* timeoutID 是该延时操纵的数字ID, 此ID随后能够用来作为window.clearTimeout要领的参数。
* func 是你想要在delay毫秒以后实行的函数。
* code 在第二种语法,是指你想要在delay毫秒以后实行的代码 (运用该语法是不引荐的, 不引荐的缘由和eval()一样)。 
* delay 是耽误的毫秒数 (一秒即是1000毫秒),函数的挪用会在该耽误以后发作.然则现实的耽误时间可能会稍长一点,检察下面的备注。

须要注重的是,IE不支持第一种语法中向耽误函数通报分外参数的功用。假如你想要在IE中到达一样的功用,你必需运用一种兼容代码 (检察callback arguments 一段)。

备注

你能够运用 window.clearTimeout()来作废耽误操纵。
假如你愿望你的代码被反复的挪用 (比方每 N 毫秒一次),斟酌运用window.setInterval()。

例子

js// 引荐
window.setTimeout(function() {
    alert("Hello World!");
}, 500);

// 不引荐
window.setTimeout("alert("Hello World!");", 500);

clearTimeout()

window.clearTimeout() 要领可作废由 setTimeout() 要领设置的 timeout。

语法

clearTimeout(id_of_settimeout)

详解

参数形貌
id_of_settimeout由 setTimeout() 返回的 ID 值。该值标识要作废的耽误实行代码块。

实例

jsvar c=0
var t
function timedCount(){
    document.getElementById('txt').value=c
    c=c+1
    t=setTimeout("timedCount()",1000)
}
function stopCount(){
    clearTimeout(t)
}
    原文作者:小弟调调
    原文地址: https://segmentfault.com/a/1190000002475127
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞