Map对象以及作用域

2023-11-19

首先我们要明白什么键值对:

        // 键值对('key = value')

        // 顾名思义,每一个键会对应一个值

        // 例:a:身份证号和你本人是绑定的关系,每一个身份证(键)会对应一个人(值)

        // b:登录微信和游戏,需要输入手机号验证身份,手机号码(键)对应接收用户(值)

        // 每个键对应相应的值,按下相应的键时,就会输出相应的结果。

        // 键:就是存的值的编号;值:就是要存放的数据。

接下来就是Map对象:

        // 【Map对象】

        // Map对象用来保存键值对

        // 在Map对象中任何值(对象或者原始值)都可以作为一个键(任何数据类型)或一个值  // 【基本Map方法】

        // new Map():创建新的Map对象

        // set():为Map对象中键设置值

        // get():获取Map对象中键的值

        // keys():返回Map对象中键的数组

        // entries():返回Map对象中键/值对的数组

        // 【Map()属性】

        // Map.size:返回Map中元素的数量

下面是一些代码详解:

// 创建对象
        const ducks = {name:'Ducks'};
        const dogs = {name:'Dogs'};
        const squirrels = {name:'Squirrels'};
        // 创建新的Map对象(new Map())
        const animals = new Map();
        // 向Map 对象添加成员(set())
        animals.set(ducks,111);
        animals.set(dogs,222);
        animals.set(squirrels,333);

        // 获取Map对象中键中的值(get())
        console.log(animals.get(ducks));//111
        // 获取Map对象中键的的数组(keys())
        console.log(animals.keys());
        // 获取Map对象中值的数组(value())
        console.log(animals.values());//{111,222,333}
        // 获取Map对象中键/值对的数组(entries())
        console.log(animals.entries());// {{…} => 111, {…} => 222, {…} => 333}
        // 返回Map中元素的数量(Map.size)
        console.log(animals.size);

【其他Map()方法】

        // clear():删除Map中的所有元素

        // delete():删除由键指定的元素

        // has():如果键存在,则返回true

作用域什么呢?

【作用域】

        // 作用域是运行时代码中某些特定部分中变量,函数和对象的可访问性

        // 作用域决定了代码中变量和其他注意的可见性

function Fun(){
            let a = '内层变量'
            console.log(a);
        }
        Fun();//先执行函数

        function fun (){
            let a = '变量'
            console.log(a);
        }
        fun()
        // console.log(a);//a is notdefined

// 变量a在全局作用域没有声明,所以在全局作用域下取值会报错

        // 作用域是一个独立的地盘,让变量不会不会外泄,暴露出去

        // 作用域最大的用处就是隔离变量,不同作用下同名变量不会有冲突

        // ES6之前Javascript没有块级作用域,只有全局作用域和函数作用域。

        // ES6可以通过新增命令let和const来体现块级作用域

【函数作用域】

//【局部变量/函数作用域】
        // 声明在函数内部的变量,和全局作用域相反,局部作用域一般只在固定的代码片段内可访问到。
        
        function outFun(){
            var a = '函数内部的变量';

            function innerFun(){
                console.log(a);//函数内部的变量
            }
            innerFun();
        }
        // console.log(a);//a is not defined
        innerFun;//inner is not defined
        outFun();

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Map对象以及作用域 的相关文章

随机推荐

  • 数据集加载--load_digits

    目录 主要参数 n class return X y as frame 返回值 return X y True return X y False Bunch对象的属性 data target feature names list targe
  • 100天精通Python(爬虫篇)——第47天:selenium自动化操作浏览器(基础+代码实战)

    文章目录 一 Selenium框架环境搭建 1 下载模块 2 安装浏览器驱动WebDriver 二 基础操作 1 打开浏览器 2 无界面模式 3 元素定位 4 元素操作 5 前进后退 6 执行js 7 页面等待 隐式等待 常用 显式等待 了
  • SPI、I2C、UART、CAN

    一 简介 1 SPI SPI Serial Peripheral Interface 串行外设接口 是Motorola公司提出的一种同步串行数据传输标准 在很多器件中被广泛应用 接口 SPI接口经常被称为4线串行总线 以主 从方式工作 数据
  • Go内存管理及性能观测工具

    内存管理 TCMalloc Golang内存分配算法主要源自Google的TCMalloc算法 TCMalloc将内存分成三层最外层Thread Cache 中间层Central Cache 最里层Page Heap Thread Cach
  • 利用hbase api在本地访问并操作服务器的hbase数据库

    最近因为实验室项目需要 开始研究了hbase 然后想一次性往集群服务器上写入大量的数据 并存到hbase中 考虑到在hbase shell下只能单个数据put 这样对于批量插入数据的要求完全不合适 于是就研究起hbase的java api
  • 只要 3 个注解,优雅的实现微服务鉴权!

    原创 不才陈某 码猿技术专栏 2023 04 17 08 50 发表于山东 大家好 我是不才陈某 前面的文章中介绍了网关集成Spring Security实现网关层面的统一的认证鉴权 有不清楚的可以看之前的文章 实战干货 Spring Cl
  • Java面向对象编程(建议收藏)

    面向对象编程是一种方法 被广泛引用与Java中 接下来我将从 包 继承 组合 多态 抽象类和接口这几个方面进行全面的讲解 一 包 包是组织类的一种方式 包从直观上看就是一个文件夹 jar包中包含的都是字节码文件 包一般分为导入默认包 静态导
  • obs 之 OBSObj

    从实例学习c 之 1 内联构造 虚构2 移动构造 移动赋值3 禁用拷贝构造和赋值4 该类虚构不为 virtual 5 使用实例 using OBSDisplay OBSObj
  • 【一键卸载mysql-5.7.38数据库+dos命令bat脚本】

    一键彻底卸载mysql 5 7 38数据库 echo off color 0e echo Start Delete MySQL Process echo Author LSJ echo echo 删除注册表开始 Regedit echo r
  • smali语法及参考说明

    smali语法可以参考官方说明 因为google服务器经常无法访问 这里把重要点摘抄出来 文章挺浅显的 就不翻译了 TypesMethodsAndFields Some general information about how types
  • 计算机数据的存储-编码(补码,移码)

    在计算机系统中 补码是最重要的编码 数值一律用补码来表示 存储 主要原因 使用补码 可以将符号位和其它位统一处理 同时 减法也可按加法来处理 另外 两个用补 码表示的数相加时 如果最高位 符号位 有进位 则进位被舍弃 2 补码与原码的转换过
  • Hive order by,sort by,distribute by,cluster by 区别

    假设有一个表a 结构如下 par id c 3 c 7 b 8 b 6 a 1 a 4 a 5 c 9 a 10 b 2 order by 全排序 只会启动一个reduce执行任务 select from a order by id 在hd
  • 【C++】怎么接受未知数量的参数?

    2023年9月8日 周五下午 目录 第一种方式 可变参数函数 Variadic Function 头文件 使用方法 详解va start宏 详解va arg宏 示例程序 第一种方式 可变参数函数 Variadic Function 可变参数
  • 第2讲 Hi3861的WiFi实验-Station模式

    引言 在本文中 带大家编写一个程序 测试Hi3861的WiFi Station模式 进一步熟悉相关API的使用 请先按照本专栏第一讲中的第四部分准备好实验环境 一 编写程序 首先 打开 DevEco Device Tool 在鸿蒙项目 hi
  • Mysql JDBC Driver参数配置

    1 建立连接配置 1 user 连接的用户 默认值 无 2 Password 连接时使用的密码 默认值 无 3 socketFactory 驱动程序用于创建与服务器套接字连接的类的名称 该类必须实现了接口 com mysql jdbc So
  • 问题解决:io.lettuce.core.RedisCommandTimeoutException: Command timed out after

    环境 spring boot starter 2 x 和 sprig data starter data redis 2 x 在使用 connection bRPop timeout rawKey 方法时 如果这里的timeout大于spr
  • 飞桨AI Studio(星河社区)推出文心大模型的SDK功能

    随着大模型的涌现 我们喜悦于其远远超越小模型的性能 但又不得不面临大模型开发难的困境 训练难 微调难 部署难 开发者难以将其投入实际生产 不仅面临资源的限制 更面临高精数据难寻 时间成本过高等问题 为了让平台更多开发者可以进行大模型开发 体
  • 有序顺序表的插入

    下面看问题场景 如图是一个有序表 有序表是用数组承载的 然后我想把 元素 8插入到有序表 怎么实现呢 下面开始用人脑模拟 要把 8 插入到有序表 先从有序表的第一个元素和8进行比较 依次看到了7 下一个元素9大于8 停止遍历 我们就把 8
  • ABAP动态编程-动态生成报表、动态屏幕

    目录 前言 一 动态生成报表并调用 二 动态生成屏幕并调用 总结 前言 本文主要讲述ABAP编程中根据逻辑自动生成报表及屏幕 依托语句GENERATE DYNPRO 的实现示例及简单说明 一 动态生成报表并调用 代码示例 Create re
  • Map对象以及作用域

    首先我们要明白什么键值对 键值对 key value 顾名思义 每一个键会对应一个值 例 a 身份证号和你本人是绑定的关系 每一个身份证 键 会对应一个人 值 b 登录微信和游戏 需要输入手机号验证身份 手机号码 键 对应接收用户 值 每个