用了babel还需要polyfill吗???

2020-07-02
阅读 8 分钟
4.9k
前两天一个同事跟我说了这么一个面试题,面试官上来就问他:“项目中用了babel还需要polyfill吗?” 开始他的内心是懵比的,怎么还有如此不按套路出牌的问题,按照面试的基本原则,答案一定是需要的,不然还怎么往下问啊。于是他说“要的”。当面试官深挖下去的时候他终于顶不住了。其实平时开发的过程中用的大部分都是现成...

深入浅出javascript (5)—— 闭包

2020-06-20
阅读 3 分钟
1.5k
我们的《深入浅出javascript》系列终于来到了 闭包 这个章节,起初学习 javascript 的时候感觉全网都是讲这个概念的文章,然而我看了不知道有多少篇,依然还是很迷茫。

深入浅出javascript (4)—— 作用域链

2020-06-18
阅读 3 分钟
1.5k
通过前面三篇文章我们了解了执行上下文,作用域以及变量提升。并且在上一篇文章中我们留了一个小悬念,就是关于变量查找的完整过程。那么今天我们就接着介绍变量查找的过程,这就涉及到一个很重要的概念 —— 作用域链

深入浅出javascript (3)—— let 和 const 以及 TDZ

2020-06-10
阅读 5 分钟
2.1k
在深入浅出javascript (1)—— 变量提升中我们知道使用var 声明变量经常会有意想不到的效果,因此在ES6中引入了块级作用域以及 let、const 关键字来规避这种情况。今天我们就来说说。

深入浅出javascript (2)—— 调用栈(执行上下文栈)

2020-06-09
阅读 3 分钟
2k
有了上一篇文章的基础,今天我们接着来学习 javascript 调用栈。先来回顾下前面文章的内容:三种 JavaScript 的可执行代码(executable code):

深入浅出javascript (1)—— 变量提升

2020-06-09
阅读 6 分钟
2k
提到前端面试,对于 javascript 语言层面的考察,这几个概念是避不开的:执行上下文,变量提升,闭包,This,作用域,作用域链,原型链,Event Loop等。与其说面试很机械,倒不如说这就是 javascript 语音最最核心的概念,弄不清楚这些概念,那你一定不是一名合格的前端开发er。所以,接下来我会分几篇文章来讲这几个核...

从输入URL到渲染页面 -- 深入浅出渲染流程(2)

2020-06-06
阅读 3 分钟
1.9k
按照渲染的先后顺序会经历下面几个阶段:构建 DOM 树、样式计算、布局阶段、分层、绘制、分块、光栅化和合成。前文我们介绍了构建 DOM 树、样式计算、布局阶段,本文我们接着后面讲,说下分层、绘制、分块、光栅化和合成。我们先简单回顾下前三个阶段的主要内容:在 HTML 页面内容被提交给渲染引擎之后,渲染引擎首先将 ...

从输入URL到渲染页面 -- 深入浅出渲染流程(1)

2020-06-04
阅读 6 分钟
2.1k
渲染进程收到 HTML 文件是无法直接被渲染引擎理解的,所以要将其转化为渲染引擎能够理解的内部结构,这个结构就是 DOM。在渲染引擎内部,使用 HTML 解析器(HTMLParser)将 HTML 字节流转换为 DOM 结构。具体的工作流程如下:

从输入URL到渲染页面 -- 全流程

2020-06-02
阅读 3 分钟
5.7k
在上一篇文章中我们介绍了本专栏的前置知识——浏览器的多进程架构。那么从这篇文章开始我们就正式带领大家一步步了解从输入URL到渲染页面的全过程。 废话不多说,大家先看下面我总结的这张图,表示了输入URL到渲染页面的全过程,同时也展示了多进程浏览器的进程之间是如何相互配合工作的 下面我们一步步详细说明 首先,浏...

从输入URL到渲染页面 -- 浏览器缓存机制

2020-05-31
阅读 4 分钟
3.9k
在上一篇文章中介绍了 TCP 协议是如何保证数据完整传输的,以及 TCP 连接过程包括了建立连接、传输数据和断开连接三个阶段。我们还介绍了http的发展历程。这篇文章我们深入 HTTP 的请求过程,并通过分析一个 HTTP 请求过程中每一步的状态来带你了解完整的 HTTP 请求过程。

从输入URL到渲染页面 -- 网络协议

2020-05-29
阅读 6 分钟
1.4k
数据想在互联网上进行传输,就要符合网际协议(Internet Protocol,简称 IP)标准。互联网上不同的在线设备都有唯一的地址标识,用一个数字来表示。类比我们平常网购,用我们的收件地址类比设备的唯一标识,我们知道了这个收件地址,就可以往这个地址发送包裹。计算机的地址就称为 IP 地址,访问任何网站实际上只是你的...

从输入URL到渲染页面 -- 认识Chrome浏览器的多进程架构

2020-05-27
阅读 4 分钟
2.3k
本文是从输入URL到渲染页面专栏的第一篇文章--浏览器的多进程架构之所以要介绍Chrome浏览器的多进程架构,是因为这是理解浏览器行为的基础,也是本专栏的第一篇文章,希望大家能够打好基础

V8的垃圾回收机制

2020-05-26
阅读 4 分钟
2.5k
我们知道JavaScript中原始数据类型是存储在栈空间中的,引用类型的数据是存储在堆空间中的。通过这种分配方式,我们解决了数据的内存分配的问题。不过有些数据被使用之后,可能就不再需要了,我们把这种数据称为垃圾数据。如果这些垃圾数据一直保存在内存中,那么内存会越用越多,所以我们需要对这些垃圾数据进行回收,...