浏览器原理

输入网址时:

输入网址  dns解析 找到ip地址 服务器会返回给浏览器一个index.html文件 浏览器在解析的过程中遇到css就会去服务器中下载 遇到js也会去对应的服务器中下载

浏览器内核:浏览器的内核是指浏览器用来解析和渲染网页的核心组件。

不同的浏览器有不同的内核组成。 

内核浏览器
geckoFirefox
tridentIE
webkitsafari、chrome
blink(webkit的一个分支,google开发)chrome、edge、opera

浏览器渲染过程

js如何在浏览器里执行的?

js是一门高级的汇编语言,无论在Node环境还是在浏览器下,高级语言都需要通过js引擎将其转换成机器码或者字节码才能被计算机识别。js引擎是浏览器内核(浏览器引擎)的一个关键组成部分,是专门负责解析和执行js代码的

浏览器内核包含渲染引擎和js引擎,其中:

渲染引擎:负责html解析,布局以及渲染的工作

js引擎:解析、执行js

V8引擎的原理

parse阶段:

 首先会进行词法分析,将源代码文本拆分成一个个的词法单元,也称为令牌(Token),每个词法单元包含对应的类型和值。这个tokens会被传递到语法分析阶段进行下一步的处理。

比如var name = “yql”这段代码生成的tokens

接着会进行语法分析检查代码是否符合语法规范,会将词法分析出来的 Tokens 转化成有语法含义的抽象语法树(AST)结构。

Ignition:是一个解释器,会将AST转换成Bytecode(字节码),字节码还会转换成机器码,将最后的机器码给到CPU (是计算机系统中的核心组件)执行

TurboFan: V8 引擎使用了即时编译技术,TurboFan是一种即时编译器,它接收 Ignition 解释器生成的热点字节码,并将其转换为高效的机器码,以提高 JavaScript 代码的执行性能。(这部分也是v8性能好的原因之一)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值