v8引擎处理html,JavaScript V8引擎基础教程

本文详细介绍了JavaScript的V8引擎,包括浏览器内核的渲染引擎、JS引擎与渲染引擎的关系、V8引擎的数据表示、编译与执行过程,特别是其隐藏类、内嵌缓存和垃圾回收机制。通过理解这些概念,有助于深入理解JavaScript的执行效率和内存管理。
摘要由CSDN通过智能技术生成

本篇教程介绍了JavaScript V8引擎基础教程,希望阅读本篇文章以后大家有所收获,帮助大家对JavaScript的理解更加深入。

<

一、浏览器内核—渲染引擎

渲染,就是根据描述或者定义构建数学模型,生成图像的过程。

浏览器内核主要的作用是将页面转变成可视化/可听化的多媒体结果,通常也被称为渲染引擎。将HTML/CSS/JavaScript文本及其他相应的媒体类型资源文件转换成网页。

上图中实线框内模块是所有移植的共有部分,虚线框内不同的厂商可以自己实现。下面进行介绍:

WebCore 是各个浏览器使用的共享部分,包括HTML解析器、CSS解析器、DOM和SVG等。

JavaScriptCore是WebKit的默认引擎,在谷歌系列产品中被替换为V8引擎。

WebKit Ports是WebKit中的非共享部分,由于平台差异、第三方库和需求的不同等原因,不同的移植导致了WebKit不同版本行为不一致,它是不同浏览器性能和功能差异的关键部分。

WebKit嵌入式编程接口,供浏览器调用,与移植密切相关,不同的移植有不同的接口规范。

浏览器内核的层次结构,渲染引擎解析网页资源,调用第三方库进行渲染绘制。

从上面两图可以大概看出渲染引擎的内部组成和大模块。WebCore,负责解析HTML、CSS生成DOM树等渲染进程,js引擎负责解析和执行js逻辑进程。

二、JavaScript引擎

1、JS引擎与渲染引擎关系

JavaScript引擎和渲染引擎的关系如上图所示。渲染引擎使用JS引擎的接口来处理逻辑代码并获取结果。JS引擎通过桥接接口访问渲染引擎中的DOM及CSSOM(性能低下)。

2、JS引擎工作流程

JavaScript本质上是一种解释型语言,与编译型语言不同的是它需要一遍执行一边解析,而编译型语言在执行时已经完成编译,可直接执行,有更快的执行速度(如上图所示)。

上图描述了JS代码执行的过程。具体过程先不看,一个JS引擎主要包括以下几个部分:

编译器。将源代码经过词法分析,语法分析(你不知的js待查)编译成抽象语法树,在某些引擎中还包含将抽象语法树转化成字节码。

解释器。在某些引擎中,解释器主要是接收字节码,解释执行这个字节码,同时也依赖垃圾回收机制等。

JIT工具。将字节码或者抽象语法树转换成本地代码。

垃圾回收器和分析工具(Profiler)。负责垃圾回收和收集引擎中的信息,帮助改善引擎的性能和功效。

三、V8 编译与执行

1、数据表示

Js语言中&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值