JavaScript的运行

代码解析

  1. 在JS引擎解析时,会形成一个Global Object(全局对象),里面内置了String,Math等类,window:this(指向Global Object),全局声明的变量在解析时也会放置在这里,但是默认值为undefined,因为解析时不执行代码(赋值、函数调用等)

代码执行

  1. JS引擎通过执行上下文栈(调用栈)调用代码
  2. Q:全局变量没有调用栈该如何执行调用?
    A:需要创建全局执行上下文(全局代码需要被执行时才会创建)(GEC)
    函数则是通过函数执行上下文进行调用(FEC)
  3. 全局执行上下文结构:
    VO(Varibale[变量] Object):GO (Global Object)[VO就是GO]
    开始执行代码
    通过VO在GO里寻找相应的变量和函数

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!