博客列表 >箭头函数-rest剩余参数|dom元素|classList与dataset对象

箭头函数-rest剩余参数|dom元素|classList与dataset对象

葡萄枝子
葡萄枝子原创
2020年12月31日 00:24:01788浏览

箭头函数-rest剩余参数|dom元素|classList与dataset对象

  1. 理解并演示箭头函数的应用场景,并实例演示rest,sprend参数的使用方法;
  2. 获取dom元素的方式;
  3. classList对象与dataset对象的应该场景

1. 理解并演示箭头函数的应用场景,并实例演示rest,sprend参数的使用方法;

箭头函数:简化匿名函数的语法糖

1.1 理解并演示箭头函数的应用场景

  1. // 理解并演示箭头函数的应用场景
  2. // 1. 无参数,() 不能省
  3. let var1 = () => true;
  4. // 2. 一参数,() 可以省
  5. let var2 = (b) => b;
  6. let var3 = a => a;
  7. // 3. 二参数
  8. let var4 = (a, b) => (a === b);
  9. // 4. 多参数,多条语句,() 不能省,{} 不能省
  10. let var5 = (a, b) => {
  11. let c = a + b;
  12. return c;
  13. };
  14. // 以上例程下面输出 true "aa" "bb" false 3
  15. console.log(var1(), var2('aa'), var3('bb'), var4(true, false), var5(1, 2));

箭头函数

1.2 实例演示rest,sprend参数的使用方法

函数参数中 …rest 剩余参数归并
函数调用参数列表中 …spread展开

  1. // 函数参数中 ...rest 将多参数归并 arr 数组
  2. function arr(...arr) {
  3. // 归并到 arr 数组,输出 [1, 2, 3]
  4. console.log(arr)
  5. let sum = 0;
  6. for (let num of arr)
  7. sum += num;
  8. return sum;
  9. }
  10. // 函数参数
  11. let res1 = arr(1, 2, 3);
  12. // 函数参数 ...spread 展开数组
  13. let res2 = arr(...[1, 2, 3]);
  14. // console 都输出 6 即 arr(1, 2, 3) = arr(...[1, 2, 3])
  15. console.log(res1, res2);

剩余参数

2. 获取dom元素的方式;

  • body 下面添加 html
  1. <ul id="list">
  2. <li class="item">item1</li>
  3. <li class="item" data-item="item2">item2</li>
  4. <li class="item" data-last-item="item3">item3</li>
  5. </ul>
  • 续写 js 代码
  1. // 获取dom元素的方式
  2. // 标签 tag
  3. const tags = document.getElementsByTagName('li');
  4. // ID 选择器
  5. const id = document.getElementById('list');
  6. // Class 类选择器
  7. const classes = document.getElementsByClassName('item');
  8. // CSS 选择器
  9. // querySelector 匹配元素集合中第一个元素
  10. // querySelectorAl 匹配元素集合中所有元素
  11. const selector = document.querySelector('.item');
  12. console.log(selector);
  13. const selectorAll = document.querySelectorAll('.item');
  14. console.log(selectorAll);
  • 控制台输出图

获取dom元素的方式

3. classList对象与dataset对象的应该场景

classList 对象 增 改 删 切换 元素的 class 属性
dataset 对象 专用于访问自定义标签属性

3.1 classList对象

  1. // classList对象与dataset对象的应该场景
  2. const item = document.querySelector('.item');
  3. // 输出类名 item
  4. console.log(item.className);
  5. // 增
  6. item.classList.add('first', 'active');
  7. // 输出类名 item first active
  8. console.log(item.className);
  9. // 改
  10. item.classList.replace('active', 'visited');
  11. // 输出类名 item first visited
  12. console.log(item.className);
  13. // 删
  14. item.classList.remove('visited');
  15. // 输出类名 item first
  16. console.log(item.className);
  17. // 切换
  18. // 没有类名 active 则添加类 active
  19. item.classList.toggle('active');
  20. // 添加后输出类名 item first active
  21. console.log(item.className);
  22. // 已有类名 active 则删除类 active
  23. item.classList.toggle('active');
  24. // 删除后输出类名 item first
  25. console.log(item.className);

classList对象

3.2 dataset对象的应该场景

  1. // dataset对象的应该场景
  2. const item2 = document.querySelector('.item:nth-of-type(2)');
  3. const lastItem = document.querySelector('.item:last-of-type');
  4. // 控制台输出 item2 item3
  5. console.log(item2.dataset.item, lastItem.dataset.lastItem);

dataset对象的应该场景

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议