JS中2种定时器的使用及清除

一、什么是定时器?

定时器就是由JS提供了一些原生方法来实现延时去执行某一段代码。

二、定时器的分类


1、一次性定时器:

setTimeout: 设置一个定时器,在定时器到期后执行一次函数或代码段
使用方法:var timer=setTimeout(fun,毫秒数)

清除的方法:clearTimeout(timeoutId)

//一次性
var timeoutId = window.setTimeout(fun[, delay, param1, param2, ...]);
var timeoutId = window.setTimeout(code[, delay]);
//timeoutId: 定时器ID
//fun: 延迟后执行的函数
//code: 延迟后执行的代码字符串,不推荐使用原理类似eval()
//delay: 延迟的时间(单位:毫秒),默认值为0
//param1,param2: 向延迟函数传递而外的参数,IE9以上支持


2、周期性定时器:

setInterval: 以固定的时间间隔重复调用一个函数或者代码段
使用方法:var timer=setInterval(fun,毫秒数)
清除的方法:clearInterval(timer)

//周期性
var intervalId = window.setInterval(fun, delay[, param1, param2, ...]);
var intervalId = window.setInterval(code, delay);
//intervalId: 重复操作的ID
//func: 延迟调用的函数
//code: 代码段
//delay: 延迟时间,没有默认值


三、清除定时器

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

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

//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);

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

  • 11
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燕穗子博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值