执行上下文(笔记)
可执行代码类型
- 全局代码
- 函数代码
- 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指向谁