理解JS的底层运行原理笔记

数据结构概念

  • 栈数据结构 =====> 先进后出
  • 堆数据结构 =====> 部分顺序,因为储存方式不一样,知道key就行。
  • 队列数据结构 ======> 先进先出
JS 5种基本数据类型: undefined null string number boolan   按值访问
JS 引入类型:  Object  按引用地址访问(指针)

JS的执行上下文分为三种

  • 全局执行环境
  • 局部执行环境
  • eval() 执行环境(工作中很少用)
JS 运行原理:

 1. 每调用一个函数就会生成一个执行环境(俗称执行上下文),执行上下文环境数量没有限制
 2. 栈顶永远是正在执行的函数, 函数执行完, 弹出栈,以此类推,全局环境在最底部,
先进后出的原则。
 3. 单线程
 4. 同步执行,只有栈顶的上下文处于执行中,其他上下文需要等待
 5. 每次某个函数被调用,就会有个新的执行上下文为其创建,即使是调用的自身函数,也是如此。

JS运行的生命周期

 1. JS运行时分两个阶段, 编译阶段,以及执行阶段。 编译阶段会进行此法解析,代码检查,以及确定
 作用域规则
 2. 执行阶段又分为两个阶段, 创建上下文以及运行代码
 3. 创建上下文,会创建一个变量对象,用来存储 参数,以及变量,确定this指向,确定作用域链
 4. 运行代码阶段,进行赋值等等。

你可能感兴趣的:(JavaScript)