js 定时器的用法和清除

时间:2023-01-17 23:24:07

一、设置定时器

  window对象提供了两个方法来实现定时器的效果,

    分别是window.setTimeout()和window.setInterval。其中前者可以使一段代码在指定时间后运行;而后者则可以使一段代码每过指定时间就运行一次。它们的原型如下:

 

       window.setTimeout(code,millisec);

var i = 0;
    //设置定时器(循环去执行)
    var timeId = setInterval(function () {
      i++;
      console.log('定时运行:' + i + '次')
    }, 500)

    //清理定时器
    my$('btn').onclick = function () {
      window.clearInterval(timeId)
    }

 

       window.setInterval(code,millisec);

var i = 0;
    //设置定时器(一次性定时器)
    var timeId = setTimeout(function () {
      i++;
      console.log('定时运行:' + i + '次')
    }, 500)
    //清理定时器(这个定时器虽然只有一次,但是也得清理 既可以释放内存,也可以便于后边代码的判断。)
    my$('btn').onclick = function () {
      window.clearTimeout(timeId)
    }

 

   其中,code可以是用引号括起来的一段代码,也可以是一个函数名,到了指定的时间,系统便会自动调用该函数,当使用函数名作为调用句柄时,不能带有任何参数;

而使用字符串时,则可以在其中写入要传递的参数。两个方法中的第二个参数是millisec,表示延时或者重复执行的毫秒数。

 

二、清除定时器

   由于定时器在调用时,都会返回一个整形的数字,该数字代表定时器的序号,即第多少个定时器,所以定时器的清除要借助于这个返回的数字。

   定时器清除的方法:clearTimeout(obj)和clearInterval(obj)。(注意对于的定时器用对于的清除方法