[笔记] JavaScript 的基本观念 – 5 – Asynchronous

章节连结

Asynchronous 顾名思义就是在同一时间内,同时执行不只一个动作(More than one at a time)。你可以想像成在厨房准备早餐时,你可以先把面包放进烤吐司机、同时准备热水来泡咖啡和煎蛋,当面包烤好时,咖啡泡好了且蛋也煎了一半了。这样的动作相对于 synchronous ,可以加快处理速度。不过我们人脑默认程式会由上到下一行行的编译执行,所以也会产生一些逻辑上的误区。
javascript es6 logo


课程对应章节

Course 18 (全部一共有 85 Courses)

请注意:本系列文章为个人对应课程的消化吸收后,所整理出来的内容。换言之,并不一定会包含全部的课程内容,也有可能会添加其他资源来说明。课程连结网址:http://tinyurl.com/w7vrql6

内容

1. JavaScript 引擎本身是 synchronous 在运行的。不过整个浏览器的浏览网页过程中,可以以异步的方式(asynchronous)来执行像是 render engine, http request 的操作。
2. JavaScript 引擎会将 asynchronous 的事件(如:鼠标点击),加到事件伫列(Event Queue)中。等到所有位于 execution context 的内容(function stack 中的所有函式)进行完毕后,再来执行 Event Queue 中的内容。
3. 总言之,JavaScript 的 Asynchronous 表现是在 JavaScript Engine 之外的 Event Queue 中,至于引擎本身还是同步(synchronous)进行的。


JavaScript 全攻略系列文章

  • [笔记] JavaScript 的基本观念 – 10 – this
  • [笔记] JavaScript 的基本观念 – 9 – 函数与物件 Function and Object
  • [笔记] JavaScript 的基本观念 – 8 – Boolean & if/else
  • [笔记] JavaScript 的基本观念 – 17 – 内建函数建构子
  • [笔记] JavaScript 的基本观念 – 7 – 运算子
  • [笔记] JavaScript 的基本观念 – 6 – 型别
  • [笔记] JavaScript 的基本观念 – 5 – Asynchronous
  • [笔记] JavaScript 的基本观念 – 4 – Variable Environment
  • [笔记] JavaScript 的基本观念 – 3 – Execution Stack
  • [笔记] JavaScript 的基本观念 – 2 – undefined
  • [笔记] JavaScript 全攻略:克服 JS 的奇怪部分
  • [笔记] JavaScript 的基本观念 – 1 – Hoisting
  • 按赞加入粉丝团

    延伸阅读

    GA浏览人气:2