定时器 同步 异步 回调函数

设置定时器 当时间到了 浏览器执行定时器的回调函数 挂载在window上方法

  1. window.setTimeout(callback,timeInterval) 时间到 执行一次 也称超时调用 callback 执行的回调函数 timeInterval 时间间隔
  2. window.setInterval(callback,timeInterval) 每隔一段时间 执行一次 也称间歇调用
  • 以上两种方法都会返回一个定时器ID
  1. 清除定时器 clearTimeout clearInterval 清除指定的定时器 清除后 这个定时器无论有没有执行过 都会中止执行

同步执行

执行任务 按照必定的次序执行 当这个事件没有执行结束后 不会执行下一个事件浏览器

异步执行

当事件执行的时机不固定时 浏览器会先执行后面的任务 当后面的事件执行完后 再返回来执行当前事件异步

  • JS常见异步执行
    • 事件函数都是异步执行
    • 定时器的回调函数也是异步执行
    • Ajax中的异步
    • 回调函数也是异步执行

浏览器如何实现异步机制

浏览器中有两个任务队列函数

  • 主线任务 存放当前须要同步执行的同步任务
  • 等待任务 不须要马上执行的异步任务都放到等待任务队列中
  • 当主任务队列中的任务执行结束后,就去执行等待任务队列中的任务 必须等主线任务执行完成后 再执行等待队列的任务
  • 死循环就至关于主任务队列没有执行完

回调函数

函数A当作实参传递给函数B 在函数B执行时 须要A的地方时 把A执行 这种机制称为回调函数机制this

  1. 特色
  • 回调函数能够执行屡次
  • 能够传递实参
  • 能够改变回调函数中this的指向
  • 能够在宿主函数中 接收回调函数执行的返回结果
  1. 常见内置的回调函数
  • 定时器
  • sort方法
  • forEach方法
  • map方法
相关文章
相关标签/搜索