上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页

2020年3月16日

浏览器中的页面循环系统:19 | Promise:使用Promise,告别回调函数

摘要: 前言:该篇说明:请见 说明 —— 浏览器工作原理与实践 目录 在上一篇文章中我们聊到了微任务是如何工作的,并介绍了 MutationObserver 是如何利用微任务来权衡性能和效率的。今天我们就接着来聊聊微任务的另外一个应用 Promise,DOM/BOM API 中新加入的 API 大多数都是建 阅读全文

posted @ 2020-03-16 17:14 bala001 阅读(724) 评论(0) 推荐(0) 编辑

2020年3月10日

浏览器中的页面循环系统: 18 | 宏任务和微任务:不是所有任务都是一个待遇

摘要: 前言:该篇说明:请见 说明 —— 浏览器工作原理与实践 目录 在前面的几篇文章中,我们介绍了消息队列,并结合消息队列介绍了两种典型的 WebAPI —— setTimeout 和 XMLHttpRequest ,通过这两个 WebAPI 我们搞清楚了浏览器的消息循环系统是怎么工作的。不过随着浏览器的 阅读全文

posted @ 2020-03-10 17:05 bala001 阅读(579) 评论(0) 推荐(0) 编辑

2020年3月6日

浏览器中的页面循环系统:17 | WebAPI:XMLHttpRequest 是怎么实现的?

摘要: 前言:该篇说明:请见 说明 —— 浏览器工作原理与实践 目录 在上一篇文章中我们介绍了 setTimeout 是如何结合渲染进程的循环系统工作的,那本篇文章我们就继续介绍另外一种类型的 WebAPI —— XMLHttpRequest。 自从网页中引入了 JavaScript,我们就可以操作 DOM 阅读全文

posted @ 2020-03-06 17:34 bala001 阅读(545) 评论(0) 推荐(0) 编辑

2020年3月2日

浏览器中的页面循环系统:16 | WebAPI:setTimeout 是如何实现的?

摘要: 前言:该篇说明:请见 说明 —— 浏览器工作原理与实践 目录 在上一篇文章中我们介绍了页面中的事件和消息队列,知道了浏览器页面是由消息队列和事件循环系统来驱动的。 那在接下来的两篇文章中,我会通过 setTimeout 和 XMLHttpRequest 这两个 WebAPI 来介绍事件循环的应用。这 阅读全文

posted @ 2020-03-02 16:37 bala001 阅读(864) 评论(0) 推荐(0) 编辑

2020年1月19日

浏览器中的页面循环系统:15 | 消息队列和事件循环:页面是怎么“活”起来的?

摘要: 前言:该篇说明:请见 说明 —— 浏览器工作原理与实践 目录 前面我们讲到了每个渲染进程都有一个主线程,并且主线程非常繁忙,既要处理 DOM,又要计算样式,还要处理布局,同时还需要处理 JavaScript 任务以及各种输入事件。要让这么多不同类型的任务在主线程中有条不紊地执行,这就需要一个系统来统 阅读全文

posted @ 2020-01-19 16:44 bala001 阅读(915) 评论(0) 推荐(0) 编辑

2020年1月17日

V8工作原理:14 | 编译器和解释器:V8是如何执行一段JavaScript代码的?

摘要: 前言:该篇说明:请见 说明 —— 浏览器工作原理与实践 目录 前面我们已经花了很多篇幅来介绍 JavaScript 是如何工作的,了解了这些内容能帮助你从底层理解 JavaScript 的工作机制,从而能帮助你更好地理解和应用 JavaScript。 今天这篇文章我们就继续 “向下” 分析,站在 J 阅读全文

posted @ 2020-01-17 14:03 bala001 阅读(1839) 评论(0) 推荐(0) 编辑

2020年1月15日

V8工作原理:13 | 垃圾回收:垃圾数据是如何自动回收的?

摘要: 前言:该篇说明:|请见 说明 —— 浏览器工作原理与实践 目录 在上一篇文章中,我们提到了 JavaScript 中的数据是如何存储的,并通过例子分析了原始数据类型是存储在栈空间中的,引用类型的数据是存储在堆空间中的。通过这种分配方式,我们解决了数据的内存分配的问题。 不过有些数据被使用之后,可能就 阅读全文

posted @ 2020-01-15 14:09 bala001 阅读(839) 评论(0) 推荐(0) 编辑

2020年1月13日

V8 工作原理:12 | 栈空间和堆空间:数据是如何存储的?

摘要: 前言:该篇说明:请见 说明 —— 浏览器工作原理与实践 目录 对于前端开发者来说,JavaScript 的内存机制是一个不被经常提及的概念 ,因此很容易被忽视。特别是一些非计算机专业的同学,对内存机制可能没有非常清晰的认识,甚至有些同学根本就不知道 JavaScript 的内存机制是什么。 但是如果 阅读全文

posted @ 2020-01-13 17:44 bala001 阅读(1412) 评论(0) 推荐(1) 编辑

2020年1月10日

浏览器中的JavaScript执行机制:11 | this:从JavaScript执行上下文的视角讲清楚this

摘要: 前言:该篇说明:|请见 说明 —— 浏览器工作原理与实践 目录 在上篇文章中,我们讲了词法作用域、作用域链以及闭包,并在最后思考题中留了下面这样一段代码: 相信你已经知道了,在 printName 函数里面使用的变量 myName 是属于全局作用域下面的,所以最终打印出来的值都是 “极客邦”。这是因 阅读全文

posted @ 2020-01-10 15:41 bala001 阅读(487) 评论(0) 推荐(0) 编辑

2020年1月9日

浏览器中的JavaScript执行机制:10 | 作用域链和闭包:代码中出现相同的变量,JavaScript引擎是如何选择的?

摘要: 前言:该篇说明:|请见 说明 —— 浏览器工作原理与实践 目录 在上一篇文章中我们讲到了什么是作用域,以及 ES6 是如何通过变量环境和词法环境来同时支持变量提升和块级作用域,在最后我们也提到了如何通过词法环境和变量环境来查找变量,这其中就涉及到作用域链的概念。 理解作用域链是理解闭包的基础,而闭包 阅读全文

posted @ 2020-01-09 17:24 bala001 阅读(679) 评论(0) 推荐(1) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 15 下一页

导航