setTimeout 和 setInterval 的用法

setTimeout

setTimeout() 方法设置一个定时器,该定时器在定时器到期后执行一个函数或指定的一段代码。

语法

let timeoutID = window.setTimeout(func[, delay, param1, param2, ...]);
let timeoutID = window.setTimeout(code[, delay]); 
let timeoutID = window.setTimeout(function, milliseconds);

说明:

  • timeoutID 是该延时操作的数字 ID , 此 ID 随后可以用来作为 window.clearTimeout 方法的参数。
  • func 是你想要在 delay 毫秒之后执行的函数。
  • code 是指你想要在 delay 毫秒之后执行的代码字符串 (使用该语法是不推荐的,不推荐的原因和 eval() 一样)
  • delay 是延迟的毫秒数 (一秒等于1000毫秒),函数的调用会在该延迟之后发生。如果省略该参数,delay 取默认值 0 。实际的延迟时间可能会比 delay 值长。

需要注意的是,IE9 及更早的 IE 浏览器不支持第一种语法中向延迟函数传递额外参数的功能。如果你想要在 IE 中达到同样的功能,你必须使用一种兼容代码。

示例代码

setTimeout(() => console.log('text'), 1000) 
// text
setTimeout((text) => console.log(text), 1000, 'text') 
// text
setTimeout((...rest) => console.log(rest), 1000, 'text1', 'text2', 'text3') 
// ["text1", "text2", "text3"]
setTimeout(fn => fn('text'), 1000, console.log) 
// text
setTimeout((fn, text) => fn(text), 1000, console.log, 'text')
// text

setInterval

语法

let intervalID = window.setInterval(func, delay[, param1, param2, ...]);
let intervalID = window.setInterval(code, delay);

说明:

  • intervalID 是此重复操作的唯一辨识符,可以作为参数传给 clearInterval()
  • func 是你想要重复调用的函数。
  • code 是另一种语法的应用,是指你想要重复执行的一段字符串构成的代码(使用该语法是不推荐的,不推荐的原因和 eval() 一样)。
  • delay 是每次延迟的毫秒数 (一秒等于1000毫秒),函数的每次调用会在该延迟之后发生。和 setTimeout 一样,实际的延迟时间可能会稍长一点。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JavaScript提供定时执行代码的功能,叫做定时器(timer),主要由setTimeout()和setInt...
    晚晴幽草阅读 1,670评论 1 18
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,909评论 25 708
  • 小汽车 滴滴滴 载着小六一 去哪里 去赶集
    六一的快乐阅读 217评论 0 1
  • 总有些人是你就算再想也不敢多看一眼的,因为你知道有可能就这一眼会让你生出无穷无尽的期盼和奢望,那是连你自己都控制不...
    五音雅一阅读 128评论 0 0