当前位置: 首页 > news >正文

作用域及作用域链

作用域

隔离变量的集合
作用域最大的用处就是隔离变量,不同作用域内的同名变量不会有命名冲突。

作用域类型

全局作用域,函数作用域和块级作用域。
1)全局作用域,在整个代码文件中都可以访问的作用域。
2)函数作用域,函数内部的变量和函数只能在函数内部访问。
3)块级作用域,块级作用域由{}包裹,if 和 for 语句也是块级作用域。在块级作用域中用let和const声明变量,在块级作用域外无法进行访问。

let var 和 const 的区别

1.var 定义的变量,没有块的概念,有变量提升,可以跨块访问,在声明前使用会报undefined。
2. let 定义的变量,有块的概念,只能在作用域内访问,不能跨块跨函数访问,不存在变量提升,不2可以重复声明,在声明前使用会报错,存在暂时性死区。
3. const 定义的变量,必须初始化,存正在块的概念,赋值后不能更改,如果赋值是引用类型的值,引用的值本身可以发生改变。

作用域链

当查找变量时,首先会在当前执行上下文的变量对象中进行查找,如果查找不到,会向上一级的执行上下文的变量对象中进行查找,如果没有找到,会一直向上进行查找直至全局作用域中的全局变量对象。这样由多个执行上下文的变量对象构成的链表就是作用域链。

参考文献

「历时8个月」10万字前端知识体系总结(基础知识篇)🔥

http://www.lryc.cn/news/89942.html

相关文章:

  • 深入解析Linux C/C++ 编程中的内存泄漏问题
  • 【爬虫第三章】 Python基础
  • 电力系统的虚假数据注入攻击和MTD系统研究(Matlab代码实现)
  • 【阿里云】阿里云OSS对象存储— 开通OSS服务、搭建OSS环境、快速入门
  • 代理对象Proxy是什么
  • 会话跟踪cookie和session
  • ACS Cent. Sci 2018 | 数据驱动的分子连续表征的自动化学设计
  • 安卓Termux搭建web服务器【公网远程手机Android服务器】
  • 【大数据之Hive】二、Hive安装
  • 三大特性之多态
  • 单调队列优化dp
  • 【低压配电漏电继电器660V/LLJ-100H/AC220V 中性点漏电保护 JOSEF】
  • [数据结构习题]栈——中心对称链
  • AMD Software Adrenalin Edition 23.5.1驱动发布,快速获取驱动
  • Visual Studio内引用Lua解释器,编译Lua源码,执行Lua脚本
  • 【赏】C语言迷宫游戏设计如何解决屏幕严重刷屏问题同时实现运行时间的显示
  • Spring Boot如何实现接口文档自动生成
  • 二进制概述-0day漏洞利用原理(1)
  • 加密与解密 调试篇 动态调试技术 (二)-常见断点
  • 【JavaScript】拾遗(5.25)
  • QMI8658 - 姿态传感器学习笔记 - Ⅲ
  • PHP+vue二手车交易信息网站系统
  • NTM中attr的用法
  • 【python资料】pandas的条件查询
  • 中间件(三)- Kafka(二)
  • DAY01_MySQL基础数据类型navicat使用DDL\DML\DQL语句练习
  • 数据安全复合治理框架和模型解读(0)
  • Java程序设计入门教程--逻辑运算符和位运算符
  • 接口测试简介以及接口测试用例设计思路
  • C++ Qt项目实战:构建高效的代码管理器