闭包作用域链工作流程

js作用域

作用域,就是变量起作用的区域(范围)。

  1. 全局作用域(在函数和 {} 之外)。
  2. 函数作用域(在函数内部)。
  3. 块级作用域(ES6新增,在 {} 中)。
    在这里插入图片描述

容器

当浏览器想要运行JavaScript代码时就调用这个容器。

在这个容器中,有两个组件:1.内存组件;2.代码组件。

在这里插入图片描述

浏览器创建了一个有两个组件的全局执行上下文,这两个组件分别是内存组件和代码组件。详细介绍在前一个博客

浏览器将分两阶段执行这段JavaScript代码:

1> 内存创建阶段
2> 代码执行阶段

1> 内存创建阶段(预编译)

1.创建AO对象

2.找形参和变量声明,将变量和形参作为AO属性名,值为undefined

3.将实参和形参统一

4.在函数体里面找函数声明,值赋予函数体

2> 代码执行阶段

posted @ 2022-04-06 23:52  szmtjs10  阅读(10)  评论(0编辑  收藏  举报