v8知识图谱

v8知识图谱

  1. v8的基础环境
  2. v8执行流程
  3. 事件循环系统
  4. javascript的设计思想
  5. 垃圾回收系统

v8的基础环境

v8的基础环境

  1. 堆空间

    1. 树状存储结构
    2. 存储对象
    3. 存储闭包函数引用的原生类型
  2. 栈空间

    1. 先进后出
    2. 存储原生类型
  3. 全局执行上下文

    1. 初始化的this
    2. 全局作用域
    3. 全局对象
  4. 宿主环境

    1. 宿主类型
    1. 浏览器
    2. NodeJs
    3. 其它宿主

      1. 内置
    4. 内置函数
    5. 内置对象

      1. Chrome.window
      2. Node.global
  5. 事件循环系统

    1. 消息列表
    2. 任务调度系统

javascript的设计思想

javascript的设计思想

  1. 函数是一等公民

    1. 函数拥有普通类型的特性
    2. 基于对象设计
    3. 对象是动态的
    4. 支持闭包
    5. 函数表达式
  2. 类型系统和垃圾回收

    1. 类型系统
    2. 垃圾回收
  3. 作用域

    1. 源代码中定义变量的区域
    2. 静态作用域
    3. 动态作用域
    4. javascript是基于静态作用域的
    5. 作用域链
  4. 原型链继承

    1. 原型
    2. 原型链
    3. new关键字

事件循环系统

  1. 什么是事件循环系统

    1. JavaScript是单线程模式
    2. 单线程同时只执行一个任务
    3. 有新的任务就需要排队执行
    4. 引入消息队列
    5. 消息队列中的任务就是宏任务
    6. 任务调度器
    1. 循环读取消息队列中的任务
    2. 分派给指定的任务处理器
  2. 异步编程

    1. 回调函数模式
    2. Promise模式
    3. await/async模式
03-05 22:56