js是单线程语言。指的是js的所以程序执行通过仅有的这一个主线程来执行。

但是还有辅助线程,包括定时器线程,ajax请求线程和事件线程。

js的异步我理解的是:

主线程执行时候,从上到下依次执行,遇到定时器,ajax请求,事件绑定这些,并不会像alert一样对主线程执行造成阻塞,而是将这些要执行的回调函数放到任务队列里,(js可能认为这些回调函数是消耗很大性能的函数,最后才处理);

只有当主线程从头到尾执行完所有非任务队列里的程序后,才看任务队列里有没有任务,如果有,那么按照先后顺序执行,如果没有,就不执行。

转载于:https://www.cnblogs.com/dangdanghepingping/p/10231803.html

关于js执行机制的理解相关推荐

  1. 浏览器交响曲 (一)浏览器中的js执行机制

    浏览器的工作原理 浏览器中的js执行机制 单线程的含义 同步.异步 完了吗?事情并非如此 所以执行的机制是怎样的?(宏任务.微任务) 个人理解: 希望过路大佬不吝赐教 浏览器中的js执行机制 今天在网 ...

  2. JS执行机制、同步和异步、宏观任务和微观任务

    1. JS 是单线程 JavaScript 语言的一大特点就是单线程,也就是说,同一个时间只能做一件事. 这是因为 Javascript 这门脚本语言诞生的使命所致--JavaScript 是为处理页 ...

  3. JS 执行机制 详解(附图)

    一.JS是单线程 JS语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.这是JS这门脚本语言诞生的使命所致--用来处理页面中用户的交互,以及操作DOM而诞生的. 单线程就意味着,所有任务需要 ...

  4. 【JavaScript】JS执行机制微任务和宏任务

    文章目录 一.了解JS执行机制 二. 异步任务(宏任务.微任务) 1.宏任务 2.微任务 三.实操演练 解析: 一.了解JS执行机制 在学习 promise(期约) 之前,我们需要了解JS的执行机制, ...

  5. Js执行机制——同步和异步

    JS是单线程 JavaScript 语言的一大特点就是单线程,同一个时间只能做一件事.JavaScript 是为处理页面中用户的交互,以及操作DOM 而诞生的,比如我们对某个DOM元素进行添加和删除操 ...

  6. 同步异步、JS执行机制、事件循环

    文章目录 单线程 同步 异步 同步任务 异步任务 JS执行机制 异步进程处理 事件循环-event loop(这里主要是说浏览器事件循环) 单线程 JS的一大特点就是单线程,也就是同一时间内只能做一件 ...

  7. JavaScript中BOM简介及其对象、js执行机制

    目录 BOM简介 什么是BOM DOM和BOM的区别 BOM的构成 Window对象的常见事件 窗口加载事件 调整窗口大小事件 定时器函数 setTimeout( )定时器 停止setTimeout( ...

  8. JavaScript系列之JS执行机制

    文章の目录 1.JS是单线程 2.一个问题 3.同步和异步 3.1.同步 3.2.异步 3.3.同步和异步的本质区别 3.4.同步任务 3.5.异步任务 4.JS执行机制 5.示例 6.事件循环 7. ...

  9. 由浅入深解释JS执行机制 EventLoop

    一.微任务与宏任务 JS中的任务可分为以下两类 ·macro-task(宏任务):包括整体代码script,setTimeout,setInterval ·micro-task(微任务):Promis ...

  10. 前端入门:JS -- BOM (JS执行机制) P10121896-10121916

    BOM 浏览器对象模型 1.概述 BOM提供了与浏览器窗口进行交互的对象: BOM的一系列对象都有很多方法和属性,其中顶级对象是window: document 包含在 window 中,所以 DOM ...

最新文章

  1. 小米快传文件服务器怎么用,手机中的小米快传怎么用?小米快传的详细使用教程...
  2. 重磅!我国建成首个自动驾驶封闭高速公路测试环境
  3. 144. Binary Tree Preorder Traversal(非递归实现二叉树的前序遍历)
  4. 分类的评估标准_机器学习:模型评估之评估指标
  5. 工作中常用到的一些方法集合
  6. @scheduled 每30s 执行一次_全球首发5G神U麒麟820,荣耀30S卡位5G档位最强,售价2399起...
  7. php定时任务(自己)
  8. 《深入理解Linux内核》笔记5:内存管理
  9. 001redis数据库的介绍
  10. VC++编程中的文件操作API和CFile类
  11. 主机连接wifi,如何设置虚拟机上网方式
  12. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-4.后端项目分层分包及资源文件处理...
  13. 西南科技大学OJ题 11 And 11! 0259
  14. 免费可商用字体 超好用的德拉黑体
  15. 项目jar包启动的命令
  16. java马里奥_java马里奥毕业设计
  17. 选择与循环:剪刀石头布_剪刀石头布十大奢侈家具,创造高端精致生活就是这么简单!...
  18. hoolilaw解读:在美国如何应对交通罚单
  19. Python3 --- Tornado之模板
  20. 【第三届集创赛】Arm杯一等奖作品分享一:车牌的高速精准识别

热门文章

  1. IDEA(2018)导入项目报错解决方案
  2. Tarjan算法——强连通分量
  3. ARC_x86_OS选择
  4. ASP.NET MVC3 RenderPartial 传入空Model时出现字典类型错误
  5. 转载:向 XPath 中添加自定义函数
  6. C语言图形库简单对比及EGE库的安装小手册
  7. Struts2 标签
  8. 5个提高效率的编程工作环境
  9. WPF中radiobutton 的 data binding方法
  10. Java字符编码转换过程说明