IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 【Es6】Set 、map数据结构,对象,symbol的应用,DOM classList 属性 -> 正文阅读

[JavaScript知识库]【Es6】Set 、map数据结构,对象,symbol的应用,DOM classList 属性

第一部分:Set数据结构

1.set定义与初始化数据(set是类似于数组,具有单一的值)

? ? ? ? ??? // const set = new Set ([1,2,3,4])
?? ??? ??? ?// // console.log(set);

?//返回的值是{1, 2, 3, 4}

2,连续加值(一个add只能加一个可以关联多个add)

? ?
?? ??? ??? ?// set.add(5).add(6);
?? ??? ??? ?// // console.log(set);
?? ??? ??? ?// set.delete(6);
?? ??? ??? ?// // console.log(set)

//最终结果为 {1, 2, 3, 4, 5} ?已删除6?

3,set遍历

? ? ? ? ? // set.forEach(item=>console.log(item));
?? ??? ??? ?// // console.log(set);? ? ? ??

??//遍历set的结果为1,2,3,4,5

4,? 清除set值(这里是全部清除);

? ?? // set.clear()
?? ??? ??? ?// console.log(set);?? ? ? ? ? ?

??//返回的结果为 ??{size: 0}

? 第二部分:?map数据结构

?? 1,初始化数值

第一种方式:通过对象的方法去设置初识化值

? ? ? ? ? ? // const ?Info={height:180,weight:140};
?? ??? ??? ?// // console.log(map);? ??? ??

最终结果为 :{height: 180, weight: 140}

第二种方式:通过数组的形式去遍历数据值

??? ?// const map = new Map([['major','计算机'],['sex',1]]);
?? ??// console.log(Info);

?最终结果为 是以对象的形式打印出结果 {'major' => '计算机', 'sex' => 1}

2,设置map的值 key->value

? ? ? ? ? ?? //这里的map是上面map = new Map([['major','计算机'],['sex',1]]);的值
?? ??? ??? ?// map.set('realname','张三');
?? ??? ??? ?// // console.log(map);
?? ??? ??? ?// map.set('age',18);
?? ??? ??? ?// // console.log(map);
?? ??? ??? ?// map.set(Info,"个人信息");
?? ??? ??? ?// // console.log(map);??

?最终实现结果为{'major' => '计算机', 'sex' => 1, 'realname' => '张三', 'age' => 18, {…} => '个人信息'}

3,删除

?// map.delete('age');

? // console.log(map);? ??

删除后的(age 年龄){'major' => '计算机', 'sex' => 1, 'realname' => '张三', {…} => '个人信息'}

?4.获取map的长度

? ? ? ? ? ?? // console.log(map.size);??
?? ??? ??? ?//返回的值是 {size: 0}? ? ? ? ??

???? ?// 返回的结果为 ?4

5查找所有的map ,你也可以指定

? // map.has('realname');
?? ??? ??? ?// console.log(map);
?? ??? ??? ?// map.clear()
?? ??? ??? ?// console.log(map);

? ?//返回的值是 {size: 0}

6,获取map的所有keys的集合

? ?// const keys = map.keys();
? ? // console.log(keys);

?? //打印出来的值是{'major', 'sex', 'realname', {…}}

7,类似的数组(对象)

? ? ? ? ? ? // const set = new Set ([1,2,3,4]);
?? ??? ??? ?// console.log(set);? ? ? ? ?

?//最终返回值是一个类似的数组(对象)

第三部分:对象

? ? 1,创建对象

? ? ? ? ?// let realname="张三";
?? ??? ??? ?// let age = 18;
?? ??? ??? ?// // let key = 'heigth';
?? ??? ??? ?// let keys = {realname,age};
?? ??? ??? ?// console.log(keys);

最终结果为:{realname: '张三', age: 18}

2:构建key值(这里的keys是上面的keys,所以下面的获取值也是keys)

? ? ? ? ??// let realname="张三";
?? ??? ??? ?// let age = 18;
?? ??? ??? ?// // let key = 'heigth';
?? ??? ??? ?// let keys = {realname,age};

?? ??? ??? ?// keys[key] = 180;
?? ??? ??? ?// console.log(keys)

最终结果为:{realname: '张三', age: 18, heigth: 180}

3:合并对象

? ? ? ? ? ? // let ?arr = {'realname':'张三'};
?? ??? ??? ?// let ?arr1= {'age':19};
?? ??? ??? ?// let ?arr2 = {...arr,arr1}

? ? ? ? ? ? // console.log(arr2);

最终实现结果为:{realname: '张三', arr1: {…}}

第四部分:symbol的应用

1:Symbol是唯一 即使同一个变量生成的也不相等

? ? ? ? ? ? ? // const a = Symbol("a");

? ? ? ? ? ? ?//仅含有Symbol属性的变量都是唯一的,即使同一变量名,那也不同
?? ??? ??? ?// const b = Symbol("a");
?? ??? ??? ?// console.log(a===b);

最终实现结果为:返回的是false

2,第一种方法:

? ?? ?let a = Symbol();
?? ??? ? ? let Person = {
?? ? ? ? ? ? ? a:()=>{
?? ??? ??? ??? ? ? console.log("say");
?? ??? ??? ? ? }
?? ??? ? ? }
?? ??? ? ? Person.a();

?? ?let a = Symbol();

? ? ?let Person ={
?? ??? ??? ? ??
?? ??? ? ? }
?? ??? ? ? Person[a] = ()=>{
?? ??? ??? ?console.log('say');
?? ??? ? ? }
?? ??? ? ? ?Person[a]();

以上返回值为:say

第五部分:DOM classList 属性

以案例来阐述该部分的内容:

css内容部分:

?? ?.class1{
?? ??? ??? ??? ?background: red;
?? ??? ??? ?}
?? ??? ??? ?.class2{
?? ??? ??? ??? ?color:red;
?? ??? ??? ?}
?? ??? ??? ?.class3{
?? ??? ??? ??? ?font-size: 20px;
?? ??? ??? ?}

HTML内容部分:

?? ?<div id="demo">我是一个容器</div>
?? ??? ?<button id="btn1">控制颜色</button>
?? ??? ?<button id="btn2">控制字体大小</button>
?? ??? ?<button id="btn3">判断是否有颜色样式</button>
?? ??? ?<button id="btn4">判断索引1的类名</button><br/>
?? ??? ?<button id="btn5">删除颜色样式</button>
?? ??? ?<button id="btn6">控制字体toggle方式</button>? ? ? ??

js内容部分:

? ??? ?let Demo = document.getElementById("demo");
?? ??? ??? ?let btn1 = ?document.getElementById("btn1");
?? ??? ??? ?let btn2 = ?document.getElementById("btn2");
?? ??? ??? ?let btn3 = ?document.getElementById("btn3");
?? ??? ??? ?
?? ??? ??? ?btn1.addEventListener('click',()=>{
?? ??? ??? ??? ? ?//classlist 添加多个样式
? ? ? ? ? ? ? ? ? Demo.classList.add("class1","class2");
?? ??? ??? ?});
?? ??? ??? ?
?? ??? ??? ?btn2.addEventListener('click',()=>{
?? ??? ??? ??? ?Demo.classList.add("class3")
?? ??? ??? ?});
?? ??? ??? ?// classList.contains 判断是否存在某个样式
?? ??? ??? ?btn3.addEventListener('click',()=>{
?? ??? ??? ??? ?console.log(Demo.classList.contains("class1")?"存在class1的样式":"不存在class1的样式");
?? ??? ??? ?});
?? ??? ??? ?
?? ??? ??? ?// classList.item 判断指定下标的类名
?? ??? ??? ?btn4.addEventListener('click',()=>{
?? ??? ??? ??? ?console.log(Demo.classList.item(1));
?? ??? ??? ?});
?? ??? ??? ?// classList.remove 删除样式
?? ??? ??? ?btn5.addEventListener('click',()=>{
?? ??? ??? ??? ?Demo.classList.remove("class1","class2");
?? ??? ??? ?});
?? ??? ??? ?
?? ??? ??? ?btn6.addEventListener('click',()=>{
?? ??? ??? ??? ?Demo.classList.toggle("class3");
?? ??? ??? ??? ?//第二个参数 不管样式存在与否 true就强制加上 ?false就强制移除
?? ??? ??? ??? ?Demo.classList.toggle("class3",false);
?? ??? ??? ??? ?
?? ??? ??? ?});

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:13:50  更:2022-07-17 16:18:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:30:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码