执行上下文(笔记)

可执行代码类型

  1. 全局代码
  2. 函数代码
  3. eval代码

执行上下文类型

全局上下文

函数上下文

eval上下文

执行上下文组成

作用域链

this

变量对象

 

 

进出栈顺序

window 进栈

foo进栈

inner进栈

inner出栈

foo出栈

eval进栈

eval出栈

window出栈(只有当页面关闭时window才出栈)

变量对象的用途

用来存储 变量、声明式函数、函数形参

a   v 和function test()被存储

变量式声明的函数不被存储   var a=function(){}

 不同上下文的变量对象

全局队象   激活对象      calling context.vo

变量实例化

函数的调用实在函数的实例化之后

 

优先级        声明式函数>>形参>>变量 

 实例化的过程先于赋值

DEMO:

 

 this

 

谁调用 this指向谁

 

原文地址:https://www.cnblogs.com/chengzp/p/context.html