热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

箭头函数-

箭头函数-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. id="list">
  2. class="item">item1
  3. class="item" data-item="item2">item2
  4. class="item" data-last-item="item3">item3


  • 续写 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对象的应该场景


推荐阅读
  • 在Java中,匿名函数作为一种无名的函数结构,无法独立调用;而在JavaScript中,不仅有类似的匿名函数,还有立即执行函数(IIFE)和闭包等高级特性。立即执行函数同样基于匿名函数实现,但会在定义时立即执行,而闭包则通过嵌套函数来捕获外部变量,实现数据封装和持久化。这些不同的函数形式在实际开发中各有应用场景,理解其特点有助于更好地利用语言特性进行编程。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • Spring Batch 异常处理与任务限制优化策略 ... [详细]
  • PHP中处理回车换行符转换的有效方法与技巧
    PHP中处理回车换行符转换的有效方法与技巧 ... [详细]
  • 在 HihoCoder 1505 中,题目要求从给定的 n 个数中选取两对数,使这两对数的和相等。如果直接对所有可能的组合进行遍历,时间复杂度将达到 O(n^4),因此需要考虑优化选择过程。通过使用哈希表或其他高效的数据结构,可以显著降低时间复杂度,从而提高算法的效率。具体实现中,可以通过预处理和存储中间结果来减少重复计算,进一步提升性能。 ... [详细]
  • 本文详细探讨了Java集合框架的使用方法及其性能特点。首先,通过关系图展示了集合接口之间的层次结构,如`Collection`接口作为对象集合的基础,其下分为`List`、`Set`和`Queue`等子接口。其中,`List`接口支持按插入顺序保存元素且允许重复,而`Set`接口则确保元素唯一性。此外,文章还深入分析了不同集合类在实际应用中的性能表现,为开发者选择合适的集合类型提供了参考依据。 ... [详细]
  • 本文探讨了如何在C#中实现USB条形码扫描仪的数据读取,并自动过滤掉键盘输入,即使不知道设备的供应商ID(VID)和产品ID(PID)。通过详细的技术指导和代码示例,展示了如何高效地处理条形码数据,确保系统能够准确识别并忽略来自键盘的干扰信号。该方法适用于多种USB条形码扫描仪,无需额外配置设备信息。 ... [详细]
  • Java中高级工程师面试必备:JVM核心知识点全面解析
    对于软件开发人员而言,随着技术框架的不断演进和成熟,许多高级功能已经被高度封装,使得初级开发者只需掌握基本用法即可迅速完成项目。然而,对于中高级工程师而言,深入了解Java虚拟机(JVM)的核心知识点是必不可少的。这不仅有助于优化性能和解决复杂问题,还能在面试中脱颖而出。本文将全面解析JVM的关键概念和技术细节,帮助读者全面提升技术水平。 ... [详细]
  • Java 零基础入门:SQL Server 学习笔记(第21篇)
    Java 零基础入门:SQL Server 学习笔记(第21篇) ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • JVM参数设置与命令行工具详解
    JVM参数配置与命令行工具的深入解析旨在优化系统性能,通过合理设置JVM参数,确保在高吞吐量的前提下,有效减少垃圾回收(GC)的频率,进而降低系统停顿时间,提升服务的稳定性和响应速度。此外,本文还将详细介绍常用的JVM命令行工具,帮助开发者更好地监控和调优JVM运行状态。 ... [详细]
  • 浏览器中 W3School JavaScript 的 Location 对象详解
    Location对象是浏览器Window对象的一部分,通过`window.location`属性可访问。它包含了当前页面URL的相关信息,如协议、主机名、路径和查询参数等,对于页面导航和URL操作非常有用。 ... [详细]
  • HTML5大文件传输技术深度解析与实践分享
    本文深入探讨了HTML5在Web前端开发中实现大文件上传的技术细节与实践方法。通过实例分析,详细讲解了如何利用HTML5的相关特性高效、稳定地处理大文件传输问题,并提供了可供参考的代码示例和解决方案。此外,文章还讨论了常见的技术挑战及优化策略,旨在帮助开发者更好地理解和应用HTML5大文件上传技术。 ... [详细]
  • SharePoint 2010多语言用户界面的开发要点与注意事项
    SharePoint 2010 提供了强大的多语言用户界面支持,使得同一网站能够以多种语言展示。例如,对于一个中文版本的 SharePoint 2010 系统,管理员可以通过在服务器上安装英文语言包来实现多语言界面。这一功能不仅提升了用户体验,还扩展了系统的国际化能力。然而,在实施过程中需要注意一些关键点,如确保所有资源文件正确配置、进行充分的测试以及合理管理语言包的更新。这些步骤有助于确保多语言功能的稳定性和可靠性。 ... [详细]
  • 在C#编程中,管理和操作Windows事件日志是一项重要技能。本文详细探讨了如何注册新的事件源,并通过示例代码展示了如何在应用程序中实现这一功能。具体而言,文章介绍了通过检查事件源是否存在,若不存在则进行注册的步骤,以及如何利用`EventLog`类来记录日志消息。此外,还提供了关于事件日志配置和最佳实践的深入分析,帮助开发者更好地理解和应用这一技术。 ... [详细]
author-avatar
mobiledu2502920413
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有