JavaScript定时器

定时器分为两种:

  • 间隔定时器:按照指定周期(毫秒)去执行指定的代码。

  • 延时定时器:在固定的时间(毫秒)后执行一次指定的代码。

/*
1、间隔定时器
    语法:setInterval(函数, 时间);
    其中,函数表示每次要执行的内容,时间的单位是毫秒,表示间隔多久执行一次函数。
2、延时定时器
    语法:setTimeout(函数, 时间);
    其中,函数表示时间到达时要执行的内容,时间的单位是毫秒,表示经过多久后执行函数。

上述两种定时器都是有返回值的,返回值是定时器编号,表示当前页面的第几个定时器。

3、关闭定时器
    语法:
        clearInterval(要关闭的定时器编号);
        clearTimeout(要关闭的定时器编号);
    这两个方法关闭定时器是不区分种类的,即clearInterval()方法既可以关闭间隔定时器,也可以关闭延时定时器,clearTimeout()也一样。
    定时器关闭后,其要执行的函数将会停止执行。

注意:即使关闭了定时器,其编号也不会被释放,后面使用的定时器编号依旧会接着已关闭的定时器编号继续排下去。
*/

var timer1 = setInterval(() => {
    console.log("hello World");
}, 1000);
var timer2 = setInterval(function () {
    console.log("你好,世界");
}, 1000);

// code[占位符,添加下述代码到此处]。

var timer3 = setTimeout(() => {
    console.log("hello world");
}, 1000);
var timer4 = setTimeout(function () {
    console.log("你好,世界");
}, 1000);

console.log(timer1+", "+timer2+", "+timer3+", "+timer4);
// 输出结果为:"1, 2, 3, 4"。这说明定时器编号不区分定时器种类,两种定时器使用的编号池是同一个。

// 在上述code处添加如下代码。
clearInterval(timer2);
timer2 = null;
timer2 = setInterval(() => {
    console.log("你好,世界");
}, 1000);
// 此时输出结果为:"1, 3, 4, 5"。

你可能感兴趣的:(JavaScript,javascript,前端,开发语言)