新人学习笔记之(JavaScript作用域)

一、作用域

        1.通常来说,一段程序代码中所用的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突

二、变量的作用域
        1.变量作用域的分类

                (1)在JavaScript中,根据作用域的不同,变量可以分为两种

                (2)全局变量

                        1)在全局作用域下声明的变量叫做全局变量在函数外部定义的变量

                        2)全局变量在代码的任何位置都可以使用

                        3)在全局作用域下var声明的变量 是全局变量

                        4)特殊情况下,在函数内不使用 var 声明的变量也是全局变量(不建议使用)

                (3)局部变量

                        1)在局部作用域下声明的变量叫做局部变量在函数内部定义的变量

                        2)局部变量只能在函数内部使用

                        3)在函数内部var 声明的变量是局部变量

                        4)函数的形参实际上就是局部变量

        2.全局变量和局部变量的区别

                (1)全局变量:在任何一个地方都可以使用,只有在浏览器关闭时才会被销毁,因此比较占内存

                (2)局部变量:只在函数内部使用,当其所在代码被执行时,会被初始化;当代码块运行结束后,就会被销毁,因此更节省内存空间

三、作用域链
        1.只要是写代码,就至少有一个作用域
        2.写在函数内部的局部作用域
        3.如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域
        4.根据在内部函数可以访问外部函数变量的这种机制,用链式查找决定哪些数据能被内部函数访问,就称作 作用域链

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

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

相关文章

java —— 包装类及拆箱、装箱

java 当中有 8 种基本类型对应其相应的包装类,分别如下: intIntegerbyteByteshortShortlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean 一、装箱 两种装箱方法: public static void main(String[] args) {Integer anew Inte…

Java字符串String详解

Java中的String类作为存储和操作文本数据的基本类型,是开发过程中最常用的类型。 String类型的声明及初始化与基本数据类型非常相似: String name "lcy";但是String类型是引用类型,有着非常丰富的处理字符串的方法。正是因为其重…

连锁美容机构行业:如何利用用友BIP收入云实现收入增长

随着消费市场的不断升级和消费者需求的日益多样化,连锁美容机构行业正面临着前所未有的机遇与挑战。在这个竞争激烈的市场环境中,如何有效地利用技术手段提升管理效率、优化客户体验,进而实现收入的持续增长,成为了众多美容机构关…

Javaweb第九次作业

采用XML映射文件的形式来映射sql语句;采用动态sql语句的方式,实现条件查询的分页。 controller Slf4j RestController RequestMapping("supermarket111") public class SupermarketFenyeController {AutowiredSupermarketFenyeService super…

Rust之函数式语言特性:迭代器和闭包(一):概述

开发环境 Windows 11Rust 1.78.0 VS Code 1.89.1 项目工程 这次创建了新的工程minigrep. 函数式语言特性:迭代器和闭包 Rust的设计从许多现有语言和技术中获得了灵感,其中一个重要影响是函数式编程。函数式编程通常包括通过在参数中传递函数、从其他函数返回函数、…

【免费Web系列】JavaWeb实战项目案例五

这是Web第一天的课程大家可以传送过去学习 http://t.csdnimg.cn/K547r 新增员工 前面我们已经实现了员工信息的条件分页查询。 那今天我们要实现的是新增员工的功能实现,页面原型如下: ​ 首先我们先完成"新增员工"的功能开发&#xff0…

[Redis]Hash类型

基本命令 hset命令 设置 hash 中指定的字段(field)的值(value) 返回值:添加的字段的个数(注意是添加的个数,而不包括修改的) hset key field value [field value ...] hget命令 …

InnoDB Data Locking - Part 2 “Locks“

什么是数据库“锁”? 当我熟悉数据库术语时,我发现非常困惑的一件事是“锁【lock】”这个词在数据库中的含义与在编程中的含义不同。 在编程中,如果你有一个“锁”,那么它就是内存中存储在某个地址下的单个对象,然后有…

springboot mqtt收发消息

​在Spring Boot中&#xff0c;可以使用MQTT协议来收发消息。以下是一个简单的示例&#xff1a; 1. 添加依赖 在pom.xml文件中添加以下依赖&#xff1a; xml <dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring-in…

【linux】在linux操作系统下快速熟悉开发环境并上手开发工具——体验不一样的开发之旅

个人主页&#xff1a;东洛的克莱斯韦克-CSDN博客 祝福语&#xff1a;愿你拥抱自由的风 目录 vim编辑器 Linux编译器&#xff1a;gcc/g使用 gcc和g的选项 编译过程 动静态库的链接 Linux项目的自动化构建 生成可执行程序 清理可执行程序 Linux调试器-gdb使用 git和git…

DBeaver添加DM8驱动(maven下载和jar包下载配置)

DBeaver 24.0.3添加DM8驱动 下载DBeaver下载DM达梦驱动下载 安装配置使用自带Dameng自行添加达梦驱动 因为最近公司项目有信创要求&#xff0c;所以下载了达梦数据库。使用自带的达梦管理工具不是很方便&#xff0c;于是换了DBeaver。 哼哧哼哧安装好后&#xff0c;创建数据库连…

CSS:font-family作用

font-family作用 介绍代码举例示例分析示例分析 常用方法1.使用字体族2.使用系统字体3.使用Web字体4.使用CSS变量5.使用font-face规则 通用字体族补充 介绍 在Web开发中&#xff0c;font-family 是CSS的一个属性&#xff0c;用于指定一个网页元素应该使用哪些字体样式。font-f…

#centos7搭建php8+nginx环境#

场景:为了实现上传的pdf文件转成png图片,需要搭建一个php8nginx的运行环境&#xff0c;最后安装imagic扩展 安装顺序 php-> linux-> imagemagick -> ghostscript -> imagick 一&#xff1a;安装phpnginx环境 1、安装remi扩展源 remi源是Remi repository是包含最新…

浅谈云原生安全

一、云原生安全的层级概念 "4C" Code-Container-Cluster-Cloud 二、云原生各个层级的安全实践有哪些&#xff1f; 1、针对于Cloud针对的是公有云层面&#xff0c;其实就一点 1、使用主账号子角色&#xff0c;赋予最小权限原则进行资源管理。 2、对于Cluster 1、从C…

【数据结构】二叉树-堆(下)-链式二叉树

个人主页~ 二叉树-堆&#xff08;上&#xff09; 栈和队列 二叉树 四、堆的代码实现Heap.hHeap.ctest.c 五、堆的应用堆排序思想进行排序 六、二叉树链式结构的实现BTree.hBTree.ctest.c 四、堆的代码实现 Heap.h #pragma once#include <stdio.h> #include <stdlib…

如何在C#代码中判断当前C#的版本和dotnet版本

代码如下&#xff1a; using System.Reflection; using System.Runtime.InteropServices;var csharpVersion typeof(string).Assembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), false).OfType<AssemblyFileVersionAttribute>().FirstOrDefault()?.…

09- Redis 中的 Stream 数据类型和应用场景

1. 介绍 Redis Stream 是 Redis 5.0 版本新增加的数据类型&#xff0c;Redis 专门为消息队列设计的数据类型。 在 Redis 5.0 Stream 没出来之前&#xff0c;消息队列的实现方式都有着各自的缺陷&#xff0c;例如&#xff1a; 发布订阅模式&#xff0c;不能持久化也就无法可靠…

Python魔法之旅-魔法方法(05)

目录 一、概述 1、定义 2、作用 二、应用场景 1、构造和析构 2、操作符重载 3、字符串和表示 4、容器管理 5、可调用对象 6、上下文管理 7、属性访问和描述符 8、迭代器和生成器 9、数值类型 10、复制和序列化 11、自定义元类行为 12、自定义类行为 13、类型检…

Linux系统使用Docker安装Drupal结合内网穿透实现远程访问管理后台

目录 前言 1. Docker安装Drupal 2. 本地局域网访问 3 . Linux 安装cpolar 4. 配置Drupal公网访问地址 5. 公网远程访问Drupal 6. 固定Drupal 公网地址 前言 作者简介&#xff1a; 懒大王敲代码&#xff0c;计算机专业应届生 今天给大家聊聊Linux系统使用Docker安装Drupal…

golang开发 gorilla websocket的使用

很多APP都需要主动向用户推送消息&#xff0c;这就需要用到长连接的服务&#xff0c;即我们通常提到的websocket&#xff0c;同样也是使用socket服务&#xff0c;通信协议是基本类似的&#xff0c;在go中用的最多的、也是最简单的socket服务就是gorilla/websocket&#xff0c;它…