关于 setTimeout 和 setInterval 的一些梳
2022-05-23 本文已影响0人
涅槃快乐是金
一、基本定义与用法
1、定义
-
setTimeout()
方法用于在指定的时间(单位毫秒)后执行回调函数或指定的一段代码 -
setInterval()
方法可按照指定的时间间隔(单位毫秒)来调用回调函数或指定的一段代码
2、参数
- 第一个参数 function,必填,回调函数。或者是一段字符串代码,但是这种方式不建议使用,就和使用
eval()
一样,有安全风险;而且还有作用域问题(字符串会在全局作用域内被解释执行)setTimeout('console.log(123);fn()', 2000)
- 第二个参数 delay,可选,单位是 ms,对于
setTimeout
是延迟时间,对于setInterval
是间隔时间,默认都是 0 - 第三个参数 param1,param2,param3...,可选,是传递给回调函数的参数,不大常用
setTimeout(function (a, b) { console.log(a, b) }, 2000, '我是', '定时器')
3、返回值
- 返回一个 ID(数字),可以将这个 ID 传递给
clearTimeout()
或clearInterval()
来取消执行 - PS:
setTimeout()
和setInterval()
共用一个编号池,技术上,clearTimeout()
和clearInterval()
可以互换使用,但是为了避免混淆,一般不这么做