博客列表 >箭头函数、剩余参数以及DOM操作中的dataset和classList

箭头函数、剩余参数以及DOM操作中的dataset和classList

李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰原创
2021年01月01日 15:52:52750浏览

函数以及箭头函数特性和使用

1、函数组成:

  • 函数声明关键字:function
  • 函数名(遵循表示符原则)
  • 参数:可以 无,也可以是一个和多个;由小括号()包括
  • 函数体:由js语句组成,由中括号{}包括
  • 函数体中常常会有一个return语句,作为函数的返回值;return 返回的是个单值,如果返回多个值可以使用引用类型变量:数组和对象;

2、函数的参数表现形式:

  • 默认参数:通常在函数参数中设置默认值:例如

    1. function poeple(name,sex,age=25){
    2. return `我是${name},今年${age}岁,性别${sex}`}
  • 剩余参数:...argument,当argument作为形参时,把多个参数值rest到argument中;当zhuoargument作为实参使用时,把argument中的参数逐个展开(spread);

3、箭头函数是匿名函数的一种简化(匿名函数与基本函数相同,知识没有函数名)

  • 箭头函数的基本形式:(参数)=>{函数体}
  • 如果只有一个参数可以省略小括号,如果没有参数,反而不能省;如果函数体只有一个语句可以省略大括号例如:name=>console.log(name);

4、代码实操演练:

  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title></title>
  8. </head>
  9. <body>
  10. </body>
  11. <script type="text/javascript">
  12. // 箭头函数
  13. let it=name=>console.log(name);
  14. it('ldy');
  15. // age默认参数
  16. function people(name,sex,age=25){
  17. return `我是${name},今年${age}岁,性别${sex}`
  18. }
  19. console.log(people("ldy","男"));
  20. // 剩余参数
  21. function sum(...arr){
  22. let sum=0;
  23. for (let item of arr){
  24. sum += item;
  25. }
  26. // console.log(sum);
  27. return sum;
  28. }
  29. console.log(sum(1,2,3,5,6));
  30. </script>
  31. </html>

DOM操作常见api函数

1、document.querySelector();:用css选择器来获取元素(不支持伪元素其他都支持);返回匹配到到第一个html标签元素
2、document.querySelectorAll();用css选择器来获取元素(不支持伪元素其他都支持);返回匹配到到HTML标签元素组成的NodeList对象(类数组)
3、常见的还有document.getElementsByClassName(),document.getElementsByTagName();这两个个函数不同的是返回的html元素集合(也是类数组的),而document.getElementById()返回的一个html元素;

4、代码实操演练:

  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>DOM操作</title>
  8. </head>
  9. <body>
  10. <div class="container" id="container">
  11. <div class="item">item01</div>
  12. <div class="item">item02</div>
  13. <div class="item">item03</div>
  14. <div class="item">item04</div>
  15. <div class="item">item05</div>
  16. </div>
  17. </body>
  18. <script type="text/javascript">
  19. // 通过CSS选择器
  20. let item=document.querySelector('.item');
  21. console.log(item);
  22. // querySelector();返回匹配到的第一个html标签元素
  23. item.style.backgroundColor="red";
  24. let items=document.querySelectorAll(".item");
  25. //querySelectorAll();返回nodelist类数组的对象
  26. console.log(items);
  27. // 通过元素标签和类以及id
  28. let divs=document.getElementsByTagName('div');
  29. // 返回的时html元素集合
  30. console.log(divs);
  31. let div=document.getElementById('container');
  32. // 返回html标签元素
  33. console.log(div);
  34. let cl=document.getElementsByClassName('item');
  35. console.log(cl);
  36. </script>
  37. </html>

classList和dataset对象的使用

1、classlist对象主要用于解决:html元素中class属性和Js中class(类关键字)的冲突,故而用classList对象来操作html中的属性;常见的方法有:

  • classList.add();增加class样式
  • classList.remove();删除classs样式
  • classList.toggle();动态切换样式,有则删除,无则增加

2、dataset对象是专门用来访问html元素中的自定义属性:

  • html元素通过data-string来自定义属性;string如果有多个单词组成必须有-链接;
  • js通过dataset来访问自定义属性,如果html元素中自定义属性名字有多个单词组成时,由于js标识符不支持-,故通过首字母大写(驼峰法)来表示自定义属性(多单词);

3、代码实操演练

  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>DOM操作</title>
  8. <style>
  9. .bgc{
  10. background-color: lightblue;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <div class="container" id="container" data-index=1 data-name="C"data-tag-name="tn">
  16. <div class="item">item01</div>
  17. <div class="item">item02</div>
  18. <div class="item">item03</div>
  19. <div class="item">item04</div>
  20. <div class="item">item05</div>
  21. </div>
  22. </body>
  23. <script type="text/javascript">
  24. // 通过CSS选择器
  25. let item=document.querySelector('.container');
  26. //增加class样式
  27. item.classList.add('bgc');
  28. // 移除class样式
  29. item.classList.remove('bgc');
  30. // 切换class样式
  31. item.classList.toggle("bgc");
  32. // 获取data自定义属性值
  33. console.log(item.dataset.index);
  34. console.log(item.dataset.name);
  35. console.log(item.dataset.tagName);
  36. </script>
  37. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议