【JS基础】setTimeout、setInterval、clearTimeout、clearInterval

定时器

JS设置定时器和清除定时器

​ 在做项目中难免会碰到需要实时刷新,动画依次出现等等需求,这时候就需要定时器登上我们的代码舞台了,所以今天我们就先来了解一下JS定时器的设置和清除吧。

一、启用定时器

​ window对象提供了两个方法来实现定时器的效果,分别是window.setTimeout()和window.setInterval。其中前者可以使一段代码在指定时间后运行;而后者则可以使一段代码每过指定时间就运行一次。它们的原型如下:

  • window.setTimeout(code,millisec);

  • window.setInterval(code,millisec);

其中,code可以是用引号括起来的一段代码,也可以是一个函数名,到了指定的时间,系统便会自动调用该函数,当使用函数名作为调用句柄时,不能带有任何参数;而使用字符串时,则可以在其中写入要传递的参数。两个方法中的第二个参数是millisec,表示延时或者重复执行的毫秒数。

具体写法如下

  • 函数名,不带参数

​ setTimeout (test,1000); //1秒后执行

  • 字符串,可以执行的代码

​ setTimeout (‘test()’,1000); //1秒后执行

  • 匿名函数

​ setTimeout (function(){},1000); //1秒后执行

  • 调用函数,带参数

​ setTimeout (‘test(参数)’,1000); //1秒后执行

注:如果不小心写成了setTimeout (test(参数),1000);test方法就会立即执行。

注:setInterval的用法与setTimeout一样

// 函数名,不带参数

function test1 () {
  console.log('test1 === 111');
}

setTimeout(test1,1000);

一秒后执行

在这里插入图片描述

// 字符串,可以执行的代码

// 匿名函数

// 调用函数,带参数

在这里插入图片描述

二、清除定时器

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

定时器清除的方法:clearTimeout(obj)和clearInterval(obj)。

​ 要清除定时器,就必须在用定时器的时候,定义一个变量来记录定时器的返回值。如下:

//setTimeout 1000ms后执行1次
var test1 = setTimeout(function(){
    //your codes
},1000);
 
//setInterval 每隔1000ms执行一次
var test2 = setInterval(function(){
   //your codes
},1000)
 
//清除Timeout的定时器,传入变量名(创建Timeout定时器时定义的变量名)
clearTimeout(test1);
 
//清除Interval的定时器,传入变量名(创建Interval定时器时定义的变量名)
clearInterval(test2);

​ 注:有时候在写的时候,还会习惯将清空的定时器的变量置空,这样写既可以释放内存,也可以便于后边代码的判断。

参考下面链接:
https://www.h5anli.com/articles/201705/setimeone.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值