• 浏览器原理


    输入网址时:

    输入网址  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性能好的原因之一)

  • 相关阅读:
    前端新手小白的Vue3入坑指南
    Pytorch中Conv2d和ConvTranspose2d参数计算公式
    python基于django或flask开发的健身俱乐部网站rix1z
    数据库的数据类型
    【运维笔记】Centos 7.5 安装 Docker详细步骤
    Centos7环境下安装MySQL8详细教程
    Apk的下载(Fetch)和静默安装
    C语言进阶——字符函数和字符串函数(下)
    栈的多种C语言实现 编程
    基于motoharw平台的电机控制策略模型simulink仿真实现
  • 原文地址:https://blog.csdn.net/qq_33207292/article/details/126584887