美文网首页
内存与JS世界

内存与JS世界

作者: RickyWu585 | 来源:发表于2022-01-11 09:43 被阅读0次

打开chrome

  1. 开启一个主进程
  2. 主进程会开启一些辅助进程,比如GPU进程,网络服务进程
  3. 每打开一个tab页,就会开启一个新子进程

浏览器的功能

  • 发起请求,下载html,解析html,下载css,解析css,渲染界面,下载js,解析js,执行js。
  • 功能模块:是线程单位
    1. 用户界面
    2. 渲染引擎
    3. js引擎
    4. 存储(localstorage等)

JS引擎

  • 单线程:改变页面的话,就要通过dom操作渲染引擎进行跨线程通信,这就是dom操作慢的原因
  • chrome用的是v8引擎,也是nodejs的引擎,c++写的
  • 主要功能:
    1. 编译:把js代码翻译为机器能执行的字节码或机器码
    2. 优化:改写代码,使其更高效
    3. 执行:执行上面的字节码或机器码
    4. 垃圾回收:把JS用完的内存回收,方便之后再次使用

注意点

  • window/document/navigator/setTimeout这些都不是js的功能,是浏览器提供给js的api
  • 我们把这些功能称为运行时环境runtime env
  • 一旦把js放进页面,就开始执行js

深入

  • 那么js放在哪里执行呢:内存里
  • 存在内存哪里呢:
    1. stack栈区:每个数据顺序存放:存放普通变量对象的地址
    2. heap堆区:每个数据随机存放,为了方便拓展:存放对象

相关文章

  • 内存与JS世界

    打开chrome 开启一个主进程 主进程会开启一些辅助进程,比如GPU进程,网络服务进程 每打开一个tab页,就会...

  • 内存图与JS世界(待补充)

    stack区顺序存放,heap区随机存放非对象(数字,字符串,布尔)都存在Stark,对象(数组,函数)都存在He...

  • 内存图与JS世界 ---笔记(一)

    一切运行在内存中 计算机开机过程 操作系统在C盘中,按下开机键,主板通电,开始读取固件,开机程序会将文件中的操作系...

  • 内存图与JS世界 ---笔记(二)

    JS引擎中的区域: 代码区: 比如 var a = 1 存放变量 a的区域 数据区:Stack区、Heap区 还有...

  • JS内存图

    画JS内存图可以有效的解决JS中的一些内存问题JS中内存分为2中:栈内存(Stack)跟堆内存(Heap)栈内存:...

  • 作用域与this

    作用域与 this 一、作用域 1.1 JS 中的内存空间分为两种: 栈内存:提供 js 代码的执行环境;存储基本...

  • js内存泄露

    js内存泄露 js内存的机制 js的基本变量 boolean string number null undefin...

  • JS 垃圾回收

    内存 JS 数据的存储地址分为栈内存和堆内存。 栈内存 堆内存 在 JS 存放数据的内存中又分为高位和低位,其中高...

  • js知识版图-数据类型

    一、js中内存分为栈内存、堆内存此处引申知识点:js中堆栈内存及函数处理机制 栈内存 从数据类型角度思考 栈内存 ...

  • 使用WKWebView注意内存释放

    往WKWebView内注入JS方法时,出现内存无法释放问题 先说说wkWebView与JS交互的方法吧 WKWeb...

网友评论

      本文标题:内存与JS世界

      本文链接:https://www.haomeiwen.com/subject/ufmvcrtx.html