JavaScript【执行上下文】
什么是执行上下文
执行上下文就是当前JavaScript代码被解析和执行时存在的环境(抽象概念)
JavaScript代码在浏览器环境中运行,有解析引擎和内置的API那就是前端的环境
如果JavaScript代码编写在后端Node.js有V8解析引擎和内置API中那就是后端的
总结:执行上下文就是当前JavaScript代码被解析和执行时存在的环境(抽象概念)
一,执行上下文的类型
(1) 全局执行上下文
(2) 函数执行上下文
二,全局执行上下文
全局执行上下文
- 在执行全局代码前,(window)确认为全局执行上下文
- 对全局数据进行预处理
- var 定义的变量赋值为 => undefinde 添加为window的属性
- function声明的全局函数 => fun 添加为window的方法
- this => 赋值(window)
- 开始执行全局代码
二.函数执行上下文
函数执行上下文(每个函数都有自己的执行上下文)
- 在调用函数执行函数体之前,创建对应的函数执行上下文(虚拟,存在于栈中)
- 对局部数据进行处理
- 形参变量==>赋值(实参)
- argument==>实参列表
- var定义的局部变量==>undefinde 添加为执行上下文的属性
- function声明的函数 ==> 赋值为(func)添加为执行上下文的方法
- this==>赋值(调用函数的对象)
- 开始执行函数体代码
总结
例如:以上就是今天要讲的内容,本文介绍了执行上下文