执行上下文总结

执行上下文(execution context)   EC

概念代码执行的时候产生的环境

分类

  1. 全局执行上下文:在窗口打开的时候创建,窗口关闭的时候销毁
  2. 局部执行上下文:在函数调用的时候产生,函数调用结束销毁
  3. eval执行上下文:可以将字符串当js代码运行

EC与作用域对比:

  • EC  动态的,执行
  • 作用域  静态的,位置

作用:用来确定当前使用的XX到底值是多少

执行栈:是一种数据结构,具有先进后出的原则,在栈顶的是正在执行的函数

EC的生命周期:

创建阶段:EC的创建基础环境(内容)

  • 确定this的指向
  • 建立环境记录
  • 建立对外引用:指向函数“声明“处所在的环境

执行阶段:代码按顺序执行  ao(active object):激活对象

销毁阶段

环境记录:vo(variable object):变量对象

  1. 看参数
  2. 看声明式函数     命名冲突:覆盖
  3. var变量   命名冲突:忽略

作用域链:通过执行上下文的对外引用,可以一直向外链成一个链条,

这个链条的起点就是当前函数产生的执行上下文,链条的末尾永远是全局执行上下文,

这个链条叫做,作用域链。

作用域链的作用:找变量的

posted @ 2020-02-28 17:38  糖糖果果  阅读(147)  评论(0编辑  收藏  举报