同步异步

1. JS是单线程同步代码机制
=> 当你写一个死循环的时候,后面的代码就全都不执行了
2. WEBAPI 给我们提供了一个队伍的机制
=> 不会立即执行的代码
=> 准备一个队列
=> 我们叫做单线程异步
3. 异步:
==> 不会立即执行的代码
==> 当代码从上到下的执行,遇到异步代码的时候
==> 会把他放到队列里边,先不执行
==> 等到所有同步代码执行完毕,再从队列里边拿代码里来执行

JS提供了两个异步定时器机制

1. setTimeout()

  • 语法: setTimeout(函数,时间ms)
  • 时间到达的时候,执行一遍函数就结束
  • 延时定时器 / 炸弹定时器

2. setInterval()

  • 语法:setInterval(函数,时间)
  • 每间隔固定时间,执行一遍函数
  • 间隔定时器

定时器的返回值

  1. 有返回值的
    => 不分定时器种类
    => 只表示你是页面中的第几个定时器
    => 就是一个 number 数据类型
var time1 = setTimeout(function(){ console.log('timeout')})
console.log(time1) // 1
var time2 = setTimeout(function(){ console.log('timeout')})
console.log(time2) // 2
  1. 返回值 的作用
    => 用来关闭定时器使用的
  2. 关闭定时器
    + clearInterval()
    => 语法: clearInterval(要关闭的定时器返回值)
    + clearTimeout()
    => 语法: clearTimeout(要关闭的定时器返回值)
    + 注意:关闭定时器是不分种类的,只要你的定时器返回值是对的就可以
var time1 = setTimeout(function(){ console.log('timeout')})
console.log(time1) // 1
var time2 = setTimeout(function(){ console.log('timeout')})
console.log(time2) // 2
btn.onclick = function(){
	clearTimeout(1)
	clearInterval(time2)
}
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐