Evan's blog Evan's blog
首页
关于
  • 分类
  • 标签
  • 归档
  • H5&CSS3
  • JS
  • TS
  • Node
  • Webpack
  • Vue2
  • Vue3
  • 微信小程序
  • Andorid
  • Flutter
推荐
GitHub (opens new window)

conanan

真相只有一个
首页
关于
  • 分类
  • 标签
  • 归档
  • H5&CSS3
  • JS
  • TS
  • Node
  • Webpack
  • Vue2
  • Vue3
  • 微信小程序
  • Andorid
  • Flutter
推荐
GitHub (opens new window)
  • 入门

  • 理解

  • 语法

  • 异步

    • 6 异步-1 定时器
      • setTimeout
      • setInterval
    • 6 异步-2 Promise
    • 6 异步-3 async & await
  • 模块化

  • 网络

  • DOM&BOM

  • 常用框架

  • JS
  • 异步
xugaoyi
1984-01-24
目录

6 异步-1 定时器

# 定时器

# setTimeout

采用

setTimeout(handler: TimerHandler, timeout?: number, ...arguments: any[])

  • 在 millisec 毫秒后只执行一次函数或代码串

  • 推荐传递函数或者函数的引用

  • 不推荐代码串,因为会涉及欺骗词法作用域,造成 JS 引擎认为该内容视为好像在书写时(词法期)就存在于程序中这个位置的代码,且性能下降

clearTimeout():清除setTimeout设置的定时器

// var id = setTimeout("alert('abc');", 1000); // 不推荐

// 返回的 timer 是定时器的顺序,如1,2,3
var timer = setTimeout(() => {
  console.log(666);
}, 1000);
1
2
3
4
5
6

# setInterval

setInterval(code,millisec)

  • 每隔 millisec 毫秒执行一次函数或代码串

  • 推荐传递函数或者函数的引用

  • 不推荐代码串,因为会涉及欺骗词法作用域,造成 JS 引擎认为该内容视为好像在书写时(词法期)就存在于程序中这个位置的代码,且性能下降

clearInterval():清除setInterval设置的定时器

// var id = setTimeout("alert('abc');", 1000); // 不推荐

// 返回的 timer 是定时器的顺序,如1,2,3
var timer = setInterval(() => {
  console.log(666);
}, 1000);

// 清除定时器
setTimeout(() => {
  clearInterval(timer);
}, 5000);
1
2
3
4
5
6
7
8
9
10
11
编辑 (opens new window)
上次更新: 2022/03/23, 17:55:39
5 异常
6 异步-2 Promise

← 5 异常 6 异步-2 Promise→

最近更新
01
重点
04-12
02
搭建项目
04-04
03
TS补充
03-30
更多文章>
Theme by Vdoing | Copyright © 2019-2022 conanan | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式