IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> JavaScript-执行环境和作用域 -> 正文阅读

[JavaScript知识库]JavaScript-执行环境和作用域

执行环境可以说是JavaScript中最重要的一个概念了。(官方定义)执行环境定义了变量或函数有权访问的其他数据,决定了他们各自的行为。每个执行环境都有一个与之关联的变量对象(VO,variable object)。从代码层面来看“执行环境”可以用VO这个变量对象来表示。我们在浏览器的Console中无法检测查看到,但是解析器在处理数据时会在后台使用它。

执行环境有两种:全局执行环境、函数执行环境。(其实还有一种eval()执行环境,但是eval()函数存在安全问题,目前JavaScript已经不建议使用了,所以也就不在文本的范围之内)。

全局执行环境:最顶层的执行环境,在Web浏览器中,全局执行环境对应的VO我们认为就是window对象(但是在Nodejs中非Web环境就不一定是window了),因此所有全局变量和函数都是作为window对象的属性和方法创建的。当关闭浏览器时,window对象会被销毁,保存在window中的所有变量和函数定义也会被销毁。

函数执行环境:当执行一个函数时,JavaScript才会创建一个新的函数执行环境,也会有一个对应的VO,但是这个VO我们有个专门的定义叫活动对象(AO, activation object)当这个函数执行完之后,则函数对应的VO对象将被销毁,保存在VO对象中的所有变量和函数定义也被销毁。

作用域链:刚刚说过当执行一个函数时,JavaScript才会创建一个新的函数执行环境。那么如果函数嵌套函数呢(套娃),那会不断的创建新的执行环境,函数执行完成后,又会套娃般的销毁执行环境。为了防止混乱,所以作用域链就有存在的价值了。作用域链就是为了保证对执行环境有权访问的所有变量和函数进行有序的访问。

作用域链链接的就是执行环境对应的VO作用域链的起始端始终都是当前执行代码所在执行环境对应的VO。如果这个执行环境是函数,那么对应的VO就等同于AO(前面说的活动对象),会默认包含一个变量arguments(没错,就是函数的参数)。作用域链中的下一个变量对象来自包含该函数的环境(比如嵌套这个执行函数的那个函数),而再下一个变量对象来自则来自于下一个包含环境。这样一直延续到全局执行环境;全局执行环境的变量对象始终都是作用域链中的最后一个VO

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-07 10:43:35  更:2021-09-07 10:44:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:57:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码