当前位置:网站首页>执行栈和执行上下文
执行栈和执行上下文
2022-08-02 14:03:00 【lu_shang】
什么是作用域,什么是作用域链?
规定变量和函数可使用的范围称作作用域
每个函数都有一个作用域链,查找变量或函数时,需要从局部作用域到全局作用域依次查找,这些作用域的集合成为作用域链
什么是执行栈,什么是执行上下文?
1、 执行栈(先进后出)
当进入一个执行环境,就会创建出它的执行上下文,然后进行压栈,当程序执行完成时,它的执行上下文就会被销毁,进行弹栈。
栈底永远是全局环境的执行上下文,栈顶永远是正在执行函数的执行上下文。
只有浏览器关闭的时候全局执行上下文才会弹出
2、 执行上下文分
执行上下文分为:
全局执行上下文:创建一个全局的window对象,并规定this指向window,执行js的时候就压入栈底,关闭浏览器时候才弹出。
函数执行上下文:每次调用函数时,会创建一个新的函数执行上下文。执行上下文分为创建阶段和执行阶段。 创建阶段:函数环境会创建变量对象:arguments对象(并赋值),函数声明(并赋值),变量声明(不赋值),函数表达式(不赋值);会确定this指向,会确定作用域。 执行阶段:变量赋值、函数表达式赋值,使变量对象变成活跃对象
边栏推荐
- drf source code analysis and global catch exception
- 【c】小游戏---扫雷雏形
- (ROS) (03) CMakeLists. TXT, rounding
- 函数递归和动态内存初识
- 【ROS】编译软件包packages遇到进度缓慢或卡死,使用swap
- 第八单元 中间件
- Unit 10 Continuous Tuning
- [ROS] (04) Detailed explanation of package.xml
- C语言初级—用一角,两角,五角和一元组成3.5元有多少种组合方法
- [ROS] Compiling packages packages encounters slow progress or stuck, use swap
猜你喜欢

利用c语言实现对键盘输入的一串字符的各类字符的计数
![[ROS] The software package of the industrial computer does not compile](/img/a8/a1347568170821e8f186091b93e52a.png)
[ROS] The software package of the industrial computer does not compile

Hands-on OCR (1)

Deep learning framework pytorch rapid development and actual combat chapter4

第十三单元 混入视图基类

yolov5改进(一) 添加注意力集中机制

C语言sizeof和strlen的区别

8581 Linear linked list inversion

C语言日记 5、7setprecision()问题

二级指针,数组指针,指针数组和函数指针
随机推荐
jwt (json web token)
[ROS] (02) Create & compile ROS package Package
What's wrong with running yolov5 (1) p, r, map are all 0
The 2nd China Rust Developers Conference (RustChinaConf 2021~2022) Online Conference Officially Opens Registration
Briefly write about the use and experience of PPOCRLabel
C语言sizeof和strlen的区别
Flask-RESTful请求响应与SQLAlchemy基础
浅浅写一下PPOCRLabel的使用及体验
redis delay queue
paddleocr window10 first experience
第三单元 视图层
[ROS]roscd和cd的区别
yolov5,yolov4,yolov3乱七八糟的
Flask框架深入一
Flask框架
第十四单元 视图集及路由
[ROS] (04) Detailed explanation of package.xml
verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第九章)
drf serializer - Serializer
使用云GPU+pycharm训练模型实现后台跑程序、自动保存训练结果、服务器自动关机