概要 一个完整的浏览器包括浏览器的内核和浏览器的外壳,浏览器的核心部分——内核主要分为两个部分:渲染引擎和JS引擎,由于JS引擎越来越独立,所以现在我们所指的浏览器内核只值渲染引擎。 渲染引擎: 负责取得网页的内容(HTML、XML、图象等等)、整理信息(例如加入CSS等),以及计算网页的显示方式然 ...
分类:
其他好文 时间:
2018-08-28 21:20:16
阅读次数:
179
首先解释下宿主环境:一般宿主环境由外壳程序创建与维护,只要能提供js引擎执行的环境都可称之为外壳程序。如:web浏览器,一些桌面应用系统等。即由web浏览器或是这些桌面应用系统早就的环境即宿主环境。 本地对象 ECMA-262 把本地对象(native object)定义为“独立于宿主环境的 ECM ...
分类:
编程语言 时间:
2018-08-03 19:41:42
阅读次数:
182
首先我们应该先知道浏览器内核渲染进程是由多线程组成的,其中主要包括以下几个 1、GUI渲染线程 。主要负责渲染浏览器界面,解析HTML和CSS,构建DOM树和RenderObject树,布局和绘制等 。当页面需要重绘或者由于某种操作引发页面回流时,该线程就会执行 。注意,GUI渲染线程和JS引擎线程 ...
分类:
Web程序 时间:
2018-08-02 14:56:57
阅读次数:
173
深入理解JS引擎的执行机制 1.灵魂三问 : JS为什么是单线程的? 为什么需要异步? 单线程又是如何实现异步的呢? 2.JS中的event loop(1) 3.JS中的event loop(2) 4.说说setTimeout 首先,请牢记2点: (1) JS是单线程语言 (2) JS的Event ...
分类:
Web程序 时间:
2018-08-02 00:13:52
阅读次数:
233
js的闭包 js的变量作用域: 1. js允许函数中有函数 2. 如果使用变量,如果该变量有var ,则表示创建全新的变量 ,如果该变量是直接写在页面,则我们认为是全局变量,否则是局部变量, 如果没有带var关键字, 则js引擎会这样处理: 首先到父函数去找有没有该变量,如果有,则使用,如果没有则创 ...
分类:
编程语言 时间:
2018-07-30 18:38:42
阅读次数:
197
个人总结:读完这篇文章需要15分钟,文章介绍了抽象语法树与js引擎解析这些语法树的过程,提到了懒解析——即转换为AST的过程中不直接进入函数体解析,当这个函数体需要执行的时候才进行相应转换。(因为有的函数体只是声明了,并没有实际被调用) 解析,语法抽象树及最小化解析时间的 5 条小技巧 这是 Jav ...
分类:
编程语言 时间:
2018-07-29 12:59:57
阅读次数:
202
MongoDB的特点 MongoDB 是文档存储数据库,存储结构灵活 MongoDB 支持复杂查询操作、支持序列 MongoDB 采用C++开发,可以做分布式扩展 MongoDB 采用BSON格式存储 MongoDB 支持js引擎,可以编写js语句块 安装和使用 1.以管理员身份运行cmd.exe进 ...
分类:
数据库 时间:
2018-07-27 01:27:08
阅读次数:
201
JS 1. JS 是单线程语音 2. JS 的 Event Loop 是 JS 的执行机制。类似于 Android Handler 消息分发机制 JS 单线程 技术的出现都跟现实世界里的应用场景密切相关 JS 单线程 JS 最初被设计用在浏览器中,相当于在 UI 线程,设计成多线程就涉及到同步的问题 ...
分类:
Web程序 时间:
2018-07-24 15:58:38
阅读次数:
234
原理:JS引擎的工作方式是①先解析代码,获取所有被声明的变量;②然后在运行。也就是专业来说是分为预处理和执行两个阶段。 变量提升的定义:所有变量的声明语句都会被提升到代码头部,这就是变量提升。 例如: 以上语句并不会报错,只是提示undefined。实际在js引擎中的运行过程是: 实际运行表示变量a ...
分类:
其他好文 时间:
2018-06-26 20:48:02
阅读次数:
186
阅读下面这篇文章,需要20分钟: 一起了解下 JS 引擎是如何运作的吧! JS 的运作机制可以分为 AST 分析、引擎执行两个步骤: JS 源码通过 parser(分析器)转化为 AST(抽象语法树),再经过 interperter(解释器)解析为 bytecode(字节码)。 为了提高运行效率,o ...
分类:
Web程序 时间:
2018-06-25 13:04:30
阅读次数:
254