JavaScript高级——作用域和作用链

1、概念理解:

------ 就是一块"地盘",一个代码所在的区域

------ 静态的(相对于上下文对象),在编写代码时就确定了

2、分类

① 全局作用域

② 函数作用域

③ 没有块作用域(ES6有了)

3、作用

① 隔离变量,不同作用域下同名变量不会有冲突

4、作用域与执行上下文的区别

①区别一:

全局作用域之外,每个函数都会创建自己的作用域,作用域在函数定义时就已经确定了。而不是在函数调用时。

全局执行上下文是在全局作用域确定之后,JS 代码马上执行之前创建。

函数执行上下文是在调用函数时,函数代码执行之前创建。

② 区别二:

作用域是静态的,只要函数定义好了就一直存在,且不会再变化。

执行上下文是动态的,调用函数时创建,函数调用结束时就会自动释放。

③ 区别三:

上下文环境(对象)是从属于所在的作用域。

全局上下文环境 ==> 全局作用域。

函数上下文环境 ==> 对应的函数使用域。

5、作用域链

① 实例1

本文分享到这里,欢迎大家评论区相互讨论学习,下一篇继续分享JavaScript高级学习中的循环遍历加监听的内容。

相关推荐
Zz_waiting.12 分钟前
统一服务入口-Gateway
java·开发语言·gateway
四维碎片32 分钟前
【Qt】大数据量表格刷新优化--只刷新可见区域
开发语言·qt
黄交大彭于晏34 分钟前
UniApp 全局通知功能实现
前端·vue.js·uni-app
sTone8737539 分钟前
Android核心概念(一)minSdkVersion targetSdkVersion compileSdkVersion
android·前端
薛慕昭41 分钟前
C语言核心技术深度解析:从内存管理到算法实现
c语言·开发语言·算法
林太白1 小时前
八大数据结构
前端·后端·算法
一 乐1 小时前
流浪动物救助|流浪猫狗救助|基于Springboot+vue的流浪猫狗救助平台设计与实现(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设
火星数据-Tina1 小时前
Python + WebSocket 实现实时体育比分系统(含数据库设计与前端演示)
开发语言·前端
国思RDIF框架1 小时前
国思RDIF低代码快速开发框架 v6.2.2版本发布
前端·vue.js·后端
oil欧哟1 小时前
Agent 设计与上下文工程- 02 Workflow 设计模式(上)
前端·网络·人工智能