JavaScript --函数作用域变量的使用规则(局部和访问)

news2024/9/20 1:16:57

访问规则,就近原则

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 全局变量100
        var num = 100
        
        function test1(){
            var num = 200
            function child(){
                var num = 300
                console.log(num)
            }
            child()
        }

        test1()
    </script>
</body>
</html>

 就近原则   num 等于100

<script>
        // 全局变量100
        var num = 100

        function test1(){
            var num = 200
            function child(){
                // var num = 300
                console.log(num)
            }
            child()
        }
        test1()
    </script>

 num等于300的注释掉,往上找,所以num等于200

 

  num=300和num = 200注释掉,在往上找,所以num等于100

 <script>
        // 全局变量100
        var num = 100

        function test1(){
            // var num = 200
            function child(){
                // var num = 300
                console.log(num)
            }
            child()
        }
        test1()
    </script>

 

 赋值规则,就近原则

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 全局变量100
        // num值不改变
        var num = 100

        function test1(){
            // num值不改变
            var num = 200

            function child(){
                var num = 300
                // 只改变最近的num的值
                num = 400
                console.log(num)
            }
            child()
        }
        test1()
    </script>
</body>
</html>

 

 

<body>
    <script>
        // 全局变量100
        // num值不改变
        var num = 100

        function test1(){
            // num值变成400
            var num = 200

            function child(){
                // var num = 300
                // 只改变最近的num的值
                num = 400
                console.log(num)
            }
            console.log("修改前",num)
            child()
            console.log("修改后",num)
        }
        test1()
    </script>

 特殊情况

赋值的时候往上找找到最外层都没找到,就把这个num=400变成全局变量

<script>
        // 全局变量100
        // num值不改变
        // var num = 100

        function test1(){
            // num值变成400
            // var num = 200

            function child(){
                // var num = 300
                // 只改变最近的num的值
                num = 400
                console.log(num)
            }
            // console.log("修改前",num)
            child()
            console.log("修改后",num)
        }
        test1()
    </script>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2136341.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

江西金融发展集团通过ZStack Zaku容器云推进数字化转型

江西金融发展集团选择ZStack Zaku容器云平台作为其数字化转型的关键技术支撑&#xff0c;以期构建一个创新的金融服务平台&#xff0c;实现业务流程的自动化和智能化&#xff0c;同时推出符合市场需求的新型金融产品。 产融结合综合金融服务集团 江西金融发展集团股份有限公司…

延迟退休,程序员的你准备好了吗?

随着社会的进步&#xff0c;人们的寿命也逐渐延长&#xff0c;65岁被认为是人们应该退休的年龄。然而&#xff0c;对于那些已经经历了35岁危机的程序员来说&#xff0c;65岁依然让他们感觉年轻。 在这种情况下&#xff0c;该如何应对已板上钉钉的延迟退呢&#xff1f;本文将探…

OZON电子产品大幅增长,OZON跨境PS5销量激增

Top1 存储卡 Карта памяти Canvas Select Plus 128 ГБ 商品id&#xff1a;1548303593 月销量&#xff1a;2131 欢迎各位卖家朋友点击这里&#xff1a; &#x1f449; D。DDqbt。COm/74rD 免费体验 随着智能手机和平板电脑的普及&#xff0c;用户对于存储空…

C++模拟实现priority_queue(仿函数)

目录 优先级队列仿函数 优先级队列 优先队列是一种容器适配器&#xff0c;根据严格的弱排序标准&#xff0c;它的第一个元素总是它所包含的元素中最大的。类似于堆&#xff0c;在堆中可以随时插入元素&#xff0c;并且只能检索最大堆元素(优先队列中位于顶部的元素) 学习优先级…

Qt 学习第十天:标准对话框 页面布局

系统标准对话框 错误对话框 //错误对话框connect(createPro, &QAction::triggered, this, []{//参数1 父亲 参数2 标题 参数3 对话框内显示文本内容 。。。QMessageBox::critical(this, "报错!", "没加头文件!");}); 【运行结果】 信息对话框 co…

虚拟背景扣像SDK解决方案,电影级抠像技术

美摄科技&#xff0c;作为影像技术领域的领航者&#xff0c;凭借其革命性的虚拟背景抠像SDK解决方案&#xff0c;正以前所未有的方式&#xff0c;重新定义电影级背景抠像技术&#xff0c;让直播与视频制作迈入全新境界。 电影级抠像技术&#xff0c;重塑视觉盛宴 美摄科技的虚…

【运维】自动化运维工具,使用 Ansible 进行开发环境配置管理(本地/远程,brew/scoop/yum,docker/packer/openstack)

【运维】自动化运维工具&#xff0c;使用 Ansible 进行开发环境配置管理&#xff08;本地/远程&#xff0c;brew/scoop/yum&#xff0c;docker/packer/openstack&#xff09; 文章目录 1、什么是 Ansible&#xff0c;如何安装2、使用 ansible 自动配置本地开发环境&#xff08;…

水滴式多功能粉碎机:粉碎中草药的好帮手

水滴式中草药粉碎机&#xff0c;顾名思义&#xff0c;其设计灵感源自自然界中水滴的柔和与力量。它摒弃了传统粉碎机粗犷的粉碎方式&#xff0c;采用低速研磨技术&#xff0c;模拟水滴穿透岩石的细腻与持久&#xff0c;对中草药进行温和而深入的粉碎。这种技术不仅保留了药材中…

编写注册接口与登录认证

编写注册接口 在UserController添加方法 PostMapping("/login")public Result login(Pattern(regexp "^\\S{5,16}$") String username,Pattern(regexp "^\\S{5,16}$") String password){ // 根据用户名查询用户User loginUser userS…

锁表导致系统挂了,谨慎DDL操作

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、 高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…

从关键新闻和最新技术看AI行业发展(第三十一期2024.8.26-9.8) |【WeThinkIn老实人报】

写在前面 【WeThinkIn老实人报】旨在挖掘AI行业的关键新闻和最新技术&#xff0c;同时Rocky会对其中的关键信息进行解读&#xff0c;力求让读者们能从容掌握AI科技潮流。 欢迎大家关注Rocky的公众号&#xff1a;WeThinkIn 欢迎大家关注Rocky的知乎&#xff1a;Rocky Ding AIGC算…

串口接收不到数据之电阻虚焊bug分析思路

单片机和EC移远通信模块进行通信&#xff0c;相同的代码运行在相同的硬件上&#xff0c;但是一个能联网&#xff0c;一个因为没有EC的应答连不上网。 开始分析&#xff0c;排除软件问题&#xff0c;给EC模块发为什么没应答&#xff1f; 1.发送失败 2.接收失败 排除情况2&#x…

GDPU Vue前端框架开发 计数器

计数器算不到你双向绑定的进度。 重要的更新公告 &#xff01;&#xff01;&#xff01;GDPU的小伙伴&#xff0c;感谢大家的支持&#xff0c;希望到此一游的帅哥美女能有所帮助。本学期的前端框架及移动应用&#xff0c;采用专栏订阅量达到50才开始周更了哦( •̀ .̫ •́ )✧…

BMP图片与VGA(HDMI)时序互转

1.BMP介绍 BMP&#xff08;Bitmap&#xff09;是一种用于存储位图图像的文件格式&#xff0c;广泛应用于 Windows 操作系统中。BMP 文件可以存储高质量的图像数据&#xff0c;包括颜色深度较高的图片&#xff0c;同时支持无压缩或可选的简单压缩方式。 BMP格式&#xff1a; …

低代码-赋能新能源汽车产业加速前行

在“双碳”战略目标的引领下&#xff0c;全球新能源汽车产业正经历着前所未有的发展和变革&#xff0c;新能源汽车整车制造成为绿色低碳转型的重要领域。在政府的大力扶持下&#xff0c;新能源整车制造领域蓬勃发展&#xff0c;已成为全球汽车产业不可逆转的重要趋势。新能源汽…

上传文件到钉盘流程详解

文章目录 前言准备工作实现过程Maven依赖封装一个工具类获取文件上传信息unionId获取钉盘目录spaceId创建上传到钉盘前言 本文详解如何通过钉钉的API实现上传文件到钉盘目录,代码通过JAVA实现。 准备工作 1、在钉钉开发者后台创建一个钉钉企业内部应用; 2、创建并保存好应…

五星级可视化页面(23):污水处理、防汛可视化大屏

本期是第23期&#xff0c;分享一下水处理相关的大屏&#xff0c;欢迎老铁们勇于讨论&#xff0c;品鉴。

10款高效电脑监控软件推荐,电脑屏幕监控软件

在现代工作环境中&#xff0c;企业越来越依赖电脑监控软件来确保员工的工作效率、数据安全以及合规性。这些软件可以帮助管理者监督员工的日常活动&#xff0c;防止数据泄露&#xff0c;并确保工作时间得以合理使用。以下&#xff0c;我们将为您推荐10款高效的电脑监控软件&…

以太网传输出现不分包

最近对手件反馈,在传输文件的时候,我们这边发包太快,导致对手件网络出现了拥塞,把他们程序给搞死了。他们抓了一下他们收到的包,发现我们发送的数据包都大于了MTU设置的值。现在被要求更改。 排查方法:为什么我们发送的数据包会大于MTU的值。 可能性一:配置了Dont Fra…

Cryptography and Network Security: Principles and Practice(Lesson 2 notes)

Playfair Cipher Operation steps Construct a 55 letter matrix based onThe matrix is ​​constructed using a keyword (key)Then from left to right, from top to bottom; fill in the letters of the key in sequence (note: repeated letters in the key are not fil…