设置定时器 当时间到了 浏览器执行定时器的回调函数 挂载在window上方法
- window.setTimeout(callback,timeInterval) 时间到 执行一次 也称超时调用 callback 执行的回调函数 timeInterval 时间间隔
- window.setInterval(callback,timeInterval) 每隔一段时间 执行一次 也称间歇调用
- 清除定时器 clearTimeout clearInterval 清除指定的定时器 清除后 这个定时器无论有没有执行过 都会中止执行
同步执行
执行任务 按照必定的次序执行 当这个事件没有执行结束后 不会执行下一个事件浏览器
异步执行
当事件执行的时机不固定时 浏览器会先执行后面的任务 当后面的事件执行完后 再返回来执行当前事件异步
- JS常见异步执行
- 事件函数都是异步执行
- 定时器的回调函数也是异步执行
- Ajax中的异步
- 回调函数也是异步执行
浏览器如何实现异步机制
浏览器中有两个任务队列函数
- 主线任务 存放当前须要同步执行的同步任务
- 等待任务 不须要马上执行的异步任务都放到等待任务队列中
- 当主任务队列中的任务执行结束后,就去执行等待任务队列中的任务 必须等主线任务执行完成后 再执行等待队列的任务
- 死循环就至关于主任务队列没有执行完
回调函数
函数A当作实参传递给函数B 在函数B执行时 须要A的地方时 把A执行 这种机制称为回调函数机制this
- 特色
- 回调函数能够执行屡次
- 能够传递实参
- 能够改变回调函数中this的指向
- 能够在宿主函数中 接收回调函数执行的返回结果
- 常见内置的回调函数
- 定时器
- sort方法
- forEach方法
- map方法