ES6相关操作(2)

一.Promise

        Promise是ES6引入的异步编程工具。

        语法上Promise是一个构造函数,用于封装异步操作并可以获取操作成功或失败的结果

        Promise构造函数:Promise(excutor){}

        Promise的常用函数:then,catch

        实例化Promise对象(创建Promise工具)

            let data="请求数据"//该数据为服务器的数据

            reject(data)

         })

        调用Promise的then方法

        p.then(function(value){

        编写响应值

         })

二.集合

什么是集合:用于存放很多数据的容器,在集合中提供了大量的功能方法,可以快速的操作数据

        1.Set集合:成员的值必须是唯一的,实现了iterator(迭代器)的接口,可以使用for......of...... 等进行遍历

        集合中常用功能方法:size-返回集合元素的个数,add向集合中添加数据,delete-删除数据,返回的是boolean(布尔类型的值)。has检查集合中是否包含某个元素

        声明Set集合

        2.Map集合:

        Map集合:以键值对的方式存储数据

                常用的属性和方法:

                        size 元素的个数

                        set 增加数据

                        get根据键获取数据

                        has 判断是否包含

                        clear 清空,undefined

        

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>集合</title>
</head>
<body>
    <script>
        //什么是集合:用于存放很多数据的容器,在集合中提供了大量的功能方法,可以快速的操作数据
        //Set集合:成员的值必须是唯一的,实现了iterator(迭代器)的接口,可以使用for......of......等进行遍历
        //集合中常用功能方法:size-返回集合元素的个数,add向集合中添加数据,delete-删除数据,返回的是boolean(布尔类型的值)。has检查集合中是否包含某个元素
        //声明Set集合
        let s1 =new Set();
        let s2=new Set(['小沈阳','赵四','刘能','宋小宝'])
        console.log(s2)
        //获得集合元素的个数
        console.log(s2.size)
        //添加元素
        s2.add('赵本山')
        console.log(s2)
        //删除元素
        s2.delete('小沈阳')
        //set集合值唯一
        s2.add('赵四')
        //元素检查是否存在
        let a=s2.has('刘能')
        console.log(a)
        //清空
        s2.clear()
        console.log(s2)
        //Map集合:以键值对的方式存储数据
        /*常用的属性和方法:
        size 元素的个数
        set 增加数据
        get根据键获取数据
        has 判断是否包含
        clear 清空,undefined
        */
       //声明Map集合
       let m=new Map()
       //添加数据
       m.set('name','刘德华')
       m.set('message',function(){
           console.log('演员,歌手')
       })
       let key={
        sayHi:'我的能力有'
       }
       m.set(key,['唱歌','跳舞','演员'])
       //获取元素个数
       console.log(m.size)
       console.log(m)
       //获得数据
       console.log(m.get('name'))
       //删除数据
       m.delete('name')
       //清空数据
       m.clear()
       console.log(m)
    </script>
</body>
</html>

三.模块化

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>模块化</title>
</head>
<body>
    <script type="module">
        //模块化
        //将一个大的程序文件拆分许多小的文件,将小的文件组合起来实现业务功能
        //模块化的好处:
        //1.防止命名冲突
        //2.代码复用
        //3.高维护
        //模块化的命令
        //export 用于规定模块化对外接口
        //import 用于导入其他模块化提供的功能
        //引入m1.js模块内容
        // import *as m1 from "./m1.js"
        // console.log(m1)
        //import * as m2 from 'm2.js'
        // import * as m3 from 'm3.js'
        //m3.goodsMessage() 

        //2.解构模块数据
        // import {goods,goodsMessage} from "m1.js"
        // console.log(m1)
        // import {goods as g,goodsMessage as gm} from "m2.js"
        // import {default as m3} from "m3.js"
        //3.简化写法
        // import m3 from "m3.js"
    </script>
    <script type="module" src="./app.js"></script>
</body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VSCode集成deepseek使用介绍(Visual Studio Code)

VSCode集成deepseek使用介绍&#xff08;Visual Studio Code&#xff09; 1. 简介 随着AI辅助编程工具的快速发展&#xff0c;VSCode作为一款轻量级、高度可扩展的代码编辑器&#xff0c;已成为开发者首选的工具之一。DeepSeek作为AI模型&#xff0c;结合Roo Code插件&#x…

Qt中利用httplib调用https接口

httplib中如果要调用https接口&#xff0c;需要开启OPENSSL支持&#xff0c;经过半天坑爹得摸索&#xff0c;总结下经验。 1&#xff0c;下载 并安装Win64OpenSSL 地址如下&#xff0c;我Qt版本是5.15.2 &#xff0c;openssl选择的是 64位&#xff08;Win64OpenSSL-3_3_3.msi…

使用Geotools读取DEM地形数据实战-以湖南省30米数据为例

目录 前言 一、DEM地形数据介绍 1、DEM数据简介 2、DEM应用领域 3、QGIS中读取DEM数据 二、GeoTools解析地形 1、Maven中依赖引用 2、获取数据基本信息 三、总结 前言 随着全球数字化进程的加速&#xff0c;各类地理空间数据呈爆炸式增长&#xff0c;DEM 数据作为其中的…

登录-01.基础登录功能

一.需求分析 当前的页面不需要登录就可以进入&#xff0c;十分不安全&#xff0c;因此要设置登录功能来维护系统的安全性。登录时要根据输入的用户名和密码进行登录校验&#xff0c;如果在数据库中没有找到匹配的用户名和密码的话&#xff0c;那么就无法登录。 因此要先根据用…

调用click.getchar()时Windows PyCharm无法模拟键盘输入

文章目录 问题描述解决方案参考文献 问题描述 调用 click.getchar() 时&#xff0c;Windows PyCharm 无法模拟键盘输入 解决方案 Run → Edit Configurations… → Modify options → Emulate terminal in output console 参考文献 Terminal emulator | PyCharm Documentati…

京东杀入外卖界,这波操作到底香不香?

京东杀入外卖界&#xff0c;这波操作到底香不香&#xff1f; 最近外卖圈炸了&#xff01;京东这个电商巨头&#xff0c;居然一声不吭地搞起了外卖&#xff01;一出手就是0佣金&#xff0c;品质堂食 两大杀招&#xff0c;直接把美团、饿了么整懵了。今天咱们就来唠唠&#xff0…

PTH 哈希传递攻击

参考文章&#xff1a;内网渗透 | 哈希传递攻击(Pass-the-Hash,PtH)-腾讯云开发者社区-腾讯云 哈希传递攻击(Pass-the-Hash,PtH)_c 实现 pass the hash功能-CSDN博客 域控机器账户&#xff1a;WIN-0V0GAORDC17 域控 ip&#xff1a;192.168.72.163 域内攻击者机器 ip&#xf…

Vue3项目,蛋糕商城系统

简单的vue3商城 蛋糕商城系统 下单平台 带用户 登录 注册 首页轮播图 购物车后台管理 商品订单 登录注册 商品详情 纯前端无后台、无数据库 纯Vue3项目作业 vue3 setup语法糖写法 技术实现 本项目主要使用如下技术实现&#xff0c; - 基于vue3vite搭建的项目框架 -…

快速上手gdb/cgdb

Linux调试器-gdb使用 1.背景2.调试原理、技巧命令2.1指令2.2 本质2.3 技巧 1.背景 程序的发布方式有两种&#xff0c;debug模式和release模式 Linux gcc/g出来的二进制程序&#xff0c;默认是release模式 要使用gdb调试&#xff0c;必须在源代码生成二进制程序的时候, 加上 -g…

LLM增强强化学习:开启智能决策的新篇章

标题期刊年份关键词Survey on Large Language Model-Enhanced Reinforcement Learning: Concept, Taxonomy, and MethodsIEEE Transactions on Neural Networks and Learning Systems2024Reinforcement learning (RL), large language models (LLM), vision-language models (V…

ECMAScript6------数组扩展

ECMAScript6------数组扩展 1.扩展运算符1.1 含义1.2 应用(1)复制数组(浅拷贝)(2)合并数组(3)与解构赋值结合(4)字符串(5)实现了Iterator接口的对象(6)Map和Set结构,Generator 函数 2.Array.from和Array.of(1)Array.from(2)Array.of 3.新增的实例方法(1)copyWithin()(2)find(回…

C++,设计模式,【工厂方法模式】

文章目录 如何用汽车生产线理解工厂方法模式?一、传统生产方式的困境二、工厂方法模式解决方案三、模式应用场景四、模式优势分析五、现实应用启示✅C++,设计模式,【目录篇】 如何用汽车生产线理解工厂方法模式? 某个早晨,某车企CEO看着会议室里堆积如面的新车订单皱起眉…

Web入侵实战分析-常见web攻击类应急处置实验2

场景说明 某天运维人员&#xff0c;发现运维的公司站点被黑页&#xff0c;首页标题被篡改&#xff0c;你获得的信息如下&#xff1a; 操作系统&#xff1a;windows server 2008 R2业务&#xff1a;公司官网网站架构&#xff1a;通过phpstudy运行apache mysqlphp开放端口&…

企业内部知识库:安全协作打造企业智慧运营基石

内容概要 作为企业智慧运营的核心载体&#xff0c;企业内部知识库通过结构化的信息聚合与动态化的知识流动&#xff0c;为组织提供了从数据沉淀到价值转化的系统性框架。其底层架构以权限管理为核心&#xff0c;依托数据加密技术构建多层级访问控制机制&#xff0c;确保敏感信…

第十二届先进制造技术与材料工程国际学术会议 (AMTME 2025)

重要信息 大会官网&#xff1a;www.amtme.org&#xff08;了解会议&#xff0c;投稿等&#xff09; 大会时间&#xff1a;2025年3月21-23日 大会地点&#xff1a;中国-广州 简介 2025年第十二届先进制造技术与材料工程 (AMTME 2025) 定于2025年3月21-23日在中国广州隆重举…

[展示]Webrtc NoiseSuppressor降噪模块嵌入式平台移植

最近在尝试把WebRtc的NoiseSuppressor模块移植到嵌入式平台&#xff0c;现在已经移植了&#xff0c;尝试了下效果&#xff0c;降噪效果很显著&#xff0c;噪声带被显著抑制了 降噪前&#xff1a; 降噪后&#xff1a;

禁止WPS强制打开PDF文件

原文网址&#xff1a;禁止WPS强制打开PDF文件_IT利刃出鞘的博客-CSDN博客 简介 本文介绍如何避免WPS强制打开PDF文件。 方法 1.删除注册表里.pdf的WPS绑定 WinR&#xff0c;输入&#xff1a;regedit&#xff0c;回车。找到&#xff1a;HKEY_CLASSES_ROOT\.pdf删除KWPS.PDF…

后端Java Stream数据流的使用=>代替for循环

API讲解 对比 示例代码对比 for循环遍历 package cn.ryanfan.platformback.service.impl;import cn.ryanfan.platformback.entity.Algorithm; import cn.ryanfan.platformback.entity.AlgorithmCategory; import cn.ryanfan.platformback.entity.DTO.AlgorithmInfoDTO; im…

JUC并发—8.并发安全集合一

大纲 1.JDK 1.7的HashMap的死循环与数据丢失 2.ConcurrentHashMap的并发安全 3.ConcurrentHashMap的设计介绍 4.ConcurrentHashMap的put操作流程 5.ConcurrentHashMap的Node数组初始化 6.ConcurrentHashMap对Hash冲突的处理 7.ConcurrentHashMap的并发扩容机制 8.Concu…

Java中的常用类 --String

学习目标 掌握String常用方法掌握StringBuilder、StringBuffer了解正则 1.String ● String是JDK中提前定义好的类型 其所在的包是java.lang ,String翻译过来表示字符串类型&#xff0c;也就是说String类中已经提前定义好了很多方法都是用来处理字符串的&#xff0c;所以Str…