美文网首页
js 在浏览器的事件机制

js 在浏览器的事件机制

作者: __Nancy | 来源:发表于2021-05-17 18:00 被阅读0次

事件循环Event Loop:浏览器为了协调事件处理、脚本执行、网络请求和渲染等任务而制定的工作机制。

image.png

宏任务Task:代表一个个离散的、独立的工作单元。浏览器完成一个宏任务,在下一个宏任务执行开始前,会对页面进行重新渲染。主要包括创建文档对象、解析HTML、执行主线JS代码以及各 种事件如页面加载、输入、网络事件和定时器等。

微任务:微任务是更小的任务,是在当前宏任务执行结束后立即执行的任务。如果存在微任务,浏览器会清空微任务之后再重新渲染。微任务的例子有 Promise 回调函数、DOM变化等。

console.log('script start');

setTimeout(function () {
  console.log('setTimeout');
}, 0);

Promise.resolve()
  .then(function () {
    console.log('promise1');
  })
  .then(function () {
    console.log('promise2');
  });

console.log('script end');

结果:

script start
script end
promise1
promise2
setTimeout

浏览器先执行是宏任务,然后执行微任务。Promise是第一个宏任务后的微任务,所以先执行。setTimeout的回调函数是下一个宏任务

相关文章

  • JavaScript的事件机制详解

    【js事件详解】js事件封装函数,js跨浏览器事件处理机制 一、事件流 事件流描述的是从页面中接受事件的顺序。IE...

  • Node.js 的 events 模块

    Node.js 没有浏览器的事件冒泡、事件捕获机制。 events 模块是 Node.js 基础及重要的模块, 只...

  • 16.3 JavaScript的执行机制

    浏览器事件轮询机制 js执行为单线程 网络请求、setTimeout、addEventListener属于异步事件...

  • js 在浏览器的事件机制

    事件循环Event Loop:浏览器为了协调事件处理、脚本执行、网络请求和渲染等任务而制定的工作机制。 宏任务Ta...

  • 2020最新面试题

    1.react生命周期 新特性 redux router 2.js事件运行机制 3.浏览器缓存机制 4.浏览器存...

  • js定时器

    从JS执行机制说起 浏览器(或者说JS引擎)执行JS的机制是基于事件循环。 由于JS是单线程,所以同一时间只能执行...

  • 浏览器和Node事件循环的区别

    事件循环,是 js 中老生常谈的一个话题了,而在浏览器和 Node 中的事件循环执行机制也不相同,浏览器的事件循环...

  • JS事件循环机制 eventloop

    如何理解JS事件的循环机制(浏览器端)答: 我们知道JS是单线程运行的(暂时撇去web worker)、是异步的、...

  • JavaScript 异步

    异步机制详解 才清晰知道浏览器里面的JS引擎运行来跑js,js中事件循环包含栈(用来执行同步任务),消息队列(用来...

  • 事件处理机制

    Node.js事件触发对象有哪些方法? 详细讲讲Node.js事件机制是怎样的? Node.js事件机制和Java...

网友评论

      本文标题:js 在浏览器的事件机制

      本文链接:https://www.haomeiwen.com/subject/mxojjltx.html