闭包作用域

2021-03-10  本文已影响0人  千千默默

1、创建函数

  - 开辟一个堆内存
  - 把函数体中的代码当作字符串存储进去
  - 把堆内存的地址赋值给函数名/变量名
  - 函数在哪创建,那么它执行时候所需要查找的上级作用域就是谁

2、函数执行

  1、形成一个私有作用域/执行上下文/栈内存(执行一次形成一个,多个之间不会有影响)
  2、形参赋值&变量提升
  3、代码执行(把所有堆内存中的代码字符串一行行执行)
  4、遇到一个变量,首先看它是否为私有变量(形成和在私有作用域中声明的变量是私有变量),是私有的就操作自己的变量即可,不是私有的则向上级作用域中查找。。。一直找到全局作用域为止=>此为作用域链查找机制
  5、私有变量和外界变量没有必然关系,可以理解为被私有栈内存保护起来了,这种机制为闭包保护机制
上一篇下一篇

猜你喜欢

热点阅读