js作用域和作用域链
1、局部作用域分为函数作用域和块作用域
1.1、函数作用域:
在函数内部声明的变量只能在函数内部被访问,外部无法直接访问。
总结
1.函数内部声明的变量,在函数外部无法被访问
2.函数的参数也是函数内部的局部变量
3.不同函数内部声明的变量无法互相访问
4.函数执行完毕后,函数内部的变量实际被清空了
1.2、块作用域:
在lavaScript 中使用包裹的代码称为代码块,代码块内部声明的变量外部将[有可能] 无法被访问。
var声明的就可以访问
1.let 声明的变量会产生块作用域,var 不会产生块作用域
2.const 声明的常量也会产生块作用域
3.不同代码块之间的变量无法互相访问
4.推荐使用 let 或 const
// var声明的就可以访问 for--这个一个块级作用域
for (var i = 0; i < 5; i++) {let k = 10;//不可以访问
}
console.log(i);//5console.log(k);// k is not defined
2、作用域链
作用域链本质上是底层的变量查找机制。
在函数被执行时,会优先查找当前函数作用域中查找变量
如果当前作用域查找不到则会依次逐级查找父级作用域直到全局作用域
<script>// 全局作用域let a = 10;let b = 20;// 局部作用域function f() {let a = 1;function g() {a = 2;console.log(a);//2}g();//调用g}f();//调用f
</script>
<script>// 全局作用域let a = 10;let b = 20;// 局部作用域function f() {let a = 1;function g() {// a = 2;console.log(a);//1}g();//调用g}f();//调用f
</script>

总结:
1.套关系的作用域串联起来形成了作用域链
2.相同作用域链中按着从小到大的规则查找变量
3.子作用域能够访问父作用域,父级作用域无法访问子级作用域
相关文章:
js作用域和作用域链
1、局部作用域分为函数作用域和块作用域 1.1、函数作用域: 在函数内部声明的变量只能在函数内部被访问,外部无法直接访问。 总结 1.函数内部声明的变量,在函数外部无法被访问 2.函数的参数也是函数内部的局部变量 3.不同函数内部声明的变量无法互相访…...
C语言字符串
目录 一、字符串的引入和注意事项 1.1 字符串定义的几种方式: 1.2 定义字符串的方法一和方法二的区别: 1.3 字符串输出的几种方式: 1.3.1 循环下标法遍历输出字符串: 1.3.2 转义字符%s输出字符串: 1.3.3 使用puts函…...
Eureka注册中心快速入门
一、提供者与消费者**服务提供者:**一次业务中,被其他微服务调用的服务。(提供接口给其他微服务)**服务消费者:**一次业务中,调用其他微服务的服务。(调用其它微服务提供的接口)比如…...
xmu 离散数学 卢杨班作业详解【1-3章】
文章目录第一章 命题逻辑常用latex数学公式1.4.5679101113171923242627第二章 一阶逻辑1.2.3.6.9.10.12.13.一阶逻辑推理理论12.13.15.第三章 集合2478101213.第一章 命题逻辑 常用latex数学公式 符号代码∨\vee∨$\vee$∧\wedge∧$\wedge$→\rightarrow→$\rightarrow$⇒\Ri…...
mvn命令
在IDEA右侧Maven菜单中,有以下几种指令。 clean:清理,清除上一次构建生产的文件。执行该命令会删除项目地址下的target文件,但不会删除本地的maven已生成的文件。 validate:验证,验证项目是否正确且所有必…...
JS - 事件循环EventLoop
一、面试题:说一下事件循环(回答思路梳理) 首先 js 是单线程运行的( JS 可以修改 DOM,如果在 JS 执行的时候 UI 线程还在工作,就可能导致不能安全的渲染 UI),在代码执行的时候&…...
【Java基础】30分钟Git 从入门到精通
一、 版本控制工具1、什么是版本控制系统?版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对…...
0100 MySQL03
1.distinct关键字 把查询结果去除重复记录,原表数据不会被修改,只能出现在字段的最前端 select distinct job from emp; select distinct job,deptno from emp;//表示两个字段联合起来 去重 2.连接查询 从一张表中单独查询,称为单表查询 两张表联合…...
32- PyTorch基础 (PyTorch系列) (深度学习)
知识要点 PyTorch可以说是现阶段主流的深度学习框架 . 1 PyTorch入门 1.1 PyTorch概述 Torch是什么?一个火炬!其实跟Tensorflow中Tensor是一个意思,可以当做是能在GPU中计算的矩阵.,也可以当做是ndarray的GPU版! PyT…...
用gdb.attach()在gdb下断点但没停下的情况及解决办法
在python中,如果导入了pwntools,就可以使用里面的gdb.attach(io)的命令来下断点。 但是这一次鼠鼠遇到了一个情况就是下了断点,但是仍然无法在断点处开始运行,奇奇怪怪。 这是我的攻击脚本 我们运行一下。 可以看到其实已经运行起…...
Linux入门篇-作业(jobs)调度(本质仍然是进程)
简介 之所以叫做作业调度,作业是以shell为单位的,一个shell建立的作业,不会被另外一个shell看到(包 括root),但是仍然可以看到作业对应的进程。①前台进程(front process) 运行在用户…...
vue 监听 取消监听
vue 的 watch 除了可以使用声明式的配置项以外,还可以通过命令式 this.$watch 方法。 如下是我们比较少用的命令式(想要初始只监听一次,必须命令式写法): 监听只运行一次 声明式 export default{data: {showType: fa…...
0103深度优先搜索和单点连通-无向图-数据结构和算法(Java)
文章目录1.1 走迷宫1.2 图的深度优先搜索实现1.3 算法分析及性能1. 4 单点连通性后记1.1 走迷宫 简单的迷宫,如下图1.1-1所示: 探索迷宫而不迷路,我们需要: 选择一条没有标记过的通道,在你走过的路上铺一条绳子&…...
进销存管理系统
技术:Java等摘要:进销存管理系统是为了实现企业仓库商品管理的系统化、规范化和自动化,从而提高企业管理效率而设计开发的管理信息系统。它完全取代了过去一直用人工管理的工作方式,避免了由于管理人员手工操作上的疏忽以及管理质…...
Sonar:VSCode配置SonarLint/SonarLint连接SonarQube
需求描述 公司为项目代码配置了Sonar检测,希望在VSCode中开发项目时能够同步检测结果。 注意事项 SonarQube版本必须为7.9,否则SonarLint无法连接(GitHub-SonarLint-Wiki第一行就有说明)!!!S…...
陀螺仪小车(Forerake-Car)
项目简介:搭建一辆有arduino UNO 与rnf24l01组成的小车;手部安装由arduino nano开发板、nrf24l01、imu构成的手势控制器,利用手势控制器检测手部状态、发送信号对小车进行前进,实现基于卡尔曼滤波的MPU6050姿态结算。 准备工作&am…...
Leetcode Day5 含有重复元素集合的组合+
1、含有重复元素集合的组合 给定一个可能有重复数字的整数数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次,解集不能包含重复的组合。 【题目传送门】 思…...
Mac Book pro(M1)使用总结
1、拿到电脑激活的时候,一定要记住账号密码及安全问题的答案。 2、显示隐藏文件夹: 3、显示.git或者gitignore等隐藏后缀的文件: 打开终端 defaults write com.apple.finder AppleShowAllFiles TRUE重启Finder在终端输入 killall Finder …...
QML集成JavaScript
在QML中可以使用现有的QML元素来创建页面,但QML紧密的集成了必要的JavaScript。 但QML中使用JavaScript比较严格,在QML中不可以添加或修改JavaScript全局对象成员,这样可能会使用一个未经声明的变量。 内联JavaScript 一些小型的JavaScript函…...
学习周报3.5
文章目录前言文献阅读摘要介绍方法总结相关性总结前言 本周阅读文献《Multi-step ahead probabilistic forecasting of multiple hydrological》,文献主要提出一种基于三维卷积神经网络、卷积最小门记忆神经网络和变分贝叶斯神经网络的混合深度学习模型(…...
2026-04随笔记
2026-04-01因为前天工作卡住了,导致昨天没心情研究,一度以为我不适合这个工作,早上的时候回想了一下成功和失败的场景认真做对比细心分析发现一个 LoadBalance的ip没设置,虽然自动获取了,但是helm的其他地方也用了这个…...
华为OD机考双机位C卷 - 数字游戏 (Java)
# 数字游戏 2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 华为OD机试双机位C卷真题目录(Java)点击查看: 【全网首发】2026华为OD机位C卷 机考真题题库含考点说明以及在线OJ(Java题解) 题目描述 小明玩一个游戏。 系统发1+n张牌,每张牌上有一个整数。 第一张给…...
5步搞定Jimeng LoRA测试台:Streamlit界面,LoRA版本智能排序
5步搞定Jimeng LoRA测试台:Streamlit界面,LoRA版本智能排序 1. 项目概述:轻量级LoRA测试系统 Jimeng LoRA测试台是一款专为模型开发者设计的轻量化文本生成图像系统。它基于Z-Image-Turbo文生图底座,实现了动态多版本LoRA热切换…...
新手福音:在快马平台上零配置完成你的第一个openclaw交互实验
作为一个刚接触AI的新手,想要在本地电脑上跑通openclaw这样的多模态模型,光是环境配置就能劝退一大波人。最近我在InsCode(快马)平台上发现了一个超友好的入门项目,完全不需要折腾环境,打开浏览器就能直接体验openclaw的核心功能。…...
Qt VS Tools配置全攻略:从安装到解决‘No Qt version assigned‘错误
Qt开发环境配置实战:从工具链搭建到疑难解析 Visual Studio作为主流的集成开发环境,与Qt框架的结合为C开发者提供了强大的生产力工具组合。但在实际项目配置过程中,"No Qt version assigned"这类基础错误却频繁困扰着开发者。本文…...
手把手教你用PassFab for Office 8.5.1找回遗忘的Word/Excel密码(保姆级图文教程)
办公文档密码遗忘急救指南:PassFab for Office全流程实战解析 你是否经历过这样的场景:周一早晨准备修改季度报表时,突然发现去年设置的Excel密码怎么试都不对;或是毕业论文答辩前夜,重要参考文献的Word文档因密码错误…...
点云特征提取入门:5分钟搞懂Voxel-based和Pillar-based的核心区别
点云特征提取入门:5分钟搞懂Voxel-based和Pillar-based的核心区别 想象一下,当你站在城市的高楼俯瞰街道,看到的车辆和行人就像散落在空间中的点。这些点如何被计算机"理解"?这就是点云特征提取要解决的问题。Voxel-bas…...
FPGA调试:除了SignalTap,你更应该试试Quartus自带的这个免费“信号发生器+逻辑分析仪”
FPGA调试实战:Quartus自带的轻量级调试利器In-System Sources and Probes Editor 在FPGA开发中,调试环节往往占据项目周期的半壁江山。当SignalTap II这类逻辑分析仪因资源占用过高而显得"杀鸡用牛刀"时,许多工程师会陷入两难——既…...
ugrep布尔搜索实战:使用AND/OR/NOT构建复杂查询
ugrep布尔搜索实战:使用AND/OR/NOT构建复杂查询 【免费下载链接】ugrep Ugrep 4.3: an ultra fast, user-friendly, compatible grep. Ugrep combines the best features of other grep, adds new features, and searches fast. Includes a TUI and adds Google-lik…...
FireRedASR-AED-L从零开始教程:无需Python环境,镜像开箱即用识别中英混合语音
FireRedASR-AED-L从零开始教程:无需Python环境,镜像开箱即用识别中英混合语音 你是不是经常遇到这样的场景?手头有一段重要的会议录音,里面既有中文讨论,又夹杂着几个英文专业术语,想把它转成文字却找不到…...
