当前位置:网站首页>执行栈和执行上下文
执行栈和执行上下文
2022-08-02 14:03:00 【lu_shang】
什么是作用域,什么是作用域链?
规定变量和函数可使用的范围称作作用域
每个函数都有一个作用域链,查找变量或函数时,需要从局部作用域到全局作用域依次查找,这些作用域的集合成为作用域链
什么是执行栈,什么是执行上下文?
1、 执行栈(先进后出)
当进入一个执行环境,就会创建出它的执行上下文,然后进行压栈,当程序执行完成时,它的执行上下文就会被销毁,进行弹栈。
栈底永远是全局环境的执行上下文,栈顶永远是正在执行函数的执行上下文。
只有浏览器关闭的时候全局执行上下文才会弹出
2、 执行上下文分
执行上下文分为:
全局执行上下文:创建一个全局的window对象,并规定this指向window,执行js的时候就压入栈底,关闭浏览器时候才弹出。
函数执行上下文:每次调用函数时,会创建一个新的函数执行上下文。执行上下文分为创建阶段和执行阶段。 创建阶段:函数环境会创建变量对象:arguments对象(并赋值),函数声明(并赋值),变量声明(不赋值),函数表达式(不赋值);会确定this指向,会确定作用域。 执行阶段:变量赋值、函数表达式赋值,使变量对象变成活跃对象
边栏推荐
猜你喜欢

verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第九章)

使用云GPU+pycharm训练模型实现后台跑程序、自动保存训练结果、服务器自动关机

Implementation of redis distributed lock and watchdog
ROS通信 —— 节点,Nodes & Master](/img/f5/c541259b69a0db3dc15a61e87f0415.png)
[ROS](05)ROS通信 —— 节点,Nodes & Master
ROS通信 —— 话题(Topic)通信](/img/21/d79f2c4e246eb9ea39df9c7435bb36.png)
[ROS](06)ROS通信 —— 话题(Topic)通信

C语言日记 1“Hello world“

宏定义问题记录day2

paddleocr window10 first experience
![[ROS] (05) ROS Communication - Node, Nodes & Master](/img/f5/c541259b69a0db3dc15a61e87f0415.png)
[ROS] (05) ROS Communication - Node, Nodes & Master

8581 Linear linked list inversion
随机推荐
C语言一维数组练习——将m个元素移动到数组尾部
Flask框架深入一
Camera Hal(Hal3)层修改Preview流
C语言日记 2 标识符
jwt (json web token)
ThinkPHP5.0内置分页函数Paginate无法获取POST页数问题的解决办法
【c】小游戏---五子棋之井字棋雏形
Flask-SQLAlchemy
STM32 (F407) - stack
8580 Merge linked list
Flask框架
第十五单元 分页、过滤
MarkDown语法汇总
线性代数期末复习存档
第十一单元 序列化器
Basic operations of 8583 sequential stack
第六单元 初识ORM
HBuilderX 核心插件安装提示:“插件XXX下载失败,请检查网络”问题的解决办法
uniCloud 未能获取当前用户信息:30205 | 当前用户为匿名身份
Flask framework