执行上下文(笔记)

可执行代码类型

  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
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞