一 执行上下文 和 执行上下文栈

执行上下文:一段javascript代码执行前的准备工作

问题一:js引擎遇到怎样一段代码才会做“准备工作呢”?

可执行代码类型:全局代码、函数代码、eval代码

执行上下文的三个重要概念 : 变量对象,作用域链,this

问题二:准备工作是什么?

准备工作就是执行上下文,函数声明提升、变量声明提升

执行上下文栈

模拟执行上下文栈 ,ECStack = [];

只有当整个应用程序结束时,ECS才会被情况,所以ECStack底部永远有个globalContext, ECStask = [globalContex];

function f1 (){
console.log('fun1');
}
function f2 (){
f1 ();
}
f2();
//伪代码
ECStask.push(f2Context);
ECStask.push(f1Context);
ECStask.pop(f1Context);
ECStask.pop(f2Context);

问题三:闭包的上下文执行栈是这么存储的

最新文章

  1. IL指令汇总
  2. CAD二次开发 - 可缩放块(四)
  3. LYDSY模拟赛day3 涂色游戏
  4. 找出现有Vector或ArrayList或数组中重复的元素&给现有Vector或ArrayList或数组去重
  5. [terry笔记]Oracle10g/11g安装-redhat5.5
  6. C# 字符流打印类
  7. BestCoder Round #69 (div.2) Baby Ming and Weight lifting(hdu 5610)
  8. NodeJs + gm图片缩略图
  9. 关于PHP定时执行任务的实现(转)
  10. 使用Jquery解决Asp.Net中下拉列表值改变后访问服务器刷新界面。
  11. ionic 图片轮播问题
  12. BCTF warmup 50
  13. [NOIP2012提高组] CODEVS 1200 同余方程(扩展欧几里德算法)
  14. Git基础 1 ---- 版本控制系统的介绍
  15. vue-标签页组件
  16. 在自定义目录下,按日期创建excel文件
  17. 如何自定义FusionCharts图表上的工具提示?
  18. vue-cli项目中使用rem
  19. CF734F Anton and School (构造)
  20. 迷失第一季/全集Lost 1迅雷下载

热门文章

  1. Google Kick Start 2020 Round C
  2. 你不得不知的Java基础知识
  3. Oracle12C安装配置文档
  4. C++STL中vector的初始化
  5. Oracle WITH 语句 语法
  6. Playbook使用,编写YAML
  7. flask提交表单验证不通过,以及CSRF攻击原理
  8. 逐浪CMS最新V8.1.6 Beta版安装部署操作
  9. linux账户的锁定和解锁、禁用账号
  10. oracle之三rman 不完全恢复