Blogger Information
Blog 23
fans 0
comment 3
visits 23583
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
箭头函数的应用场景和rest,sprend参数的使用方法;2. 获取dom元素的方式;classList对象与dataset对象的应该场景
a.
Original
931 people have browsed it

rest 和 spredad

  • 在函数的形参变量前加上“…”,将传递的参数变成一个集合
  • 在函数的参数中就是…rest 归并
  • 在函数的调用的参数列表中就是…sprend 展开
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. //rest
  11. function fun(...arr) {
  12. console.log(arr);
  13. }
  14. arr = [5, 7, 5, 2, 1, 9];
  15. //spredad
  16. fun(...arr);
  17. </script>
  18. </body>
  19. </html>

箭头函数

箭头函数应用场景

  1. 当参数只有一个的时候:()可以省略,如果没有参数反而不能省
  2. 当有多个参数时,()圆括号必须要写
  3. 当有多条语句时,函数体的{}大括号不能省
  4. 如果函数体只有一条语句时可以省略大括号
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>箭头函数</title>
  7. </head>
  8. <body>
  9. <script>
  10. let name = "小米11";
  11. let price = 3999;
  12. let num = 500;
  13. // let fun = function (name, price, num) {
  14. // return [name, price, num];
  15. // };
  16. //1. 当参数只有一个的时候:()可以省略,如果没有参数反而不能省
  17. //2. 当有多个参数时,()圆括号必须要写
  18. let fun = (name, price) => ["苹果12", name, price];
  19. let res = fun(name, price);
  20. res.forEach((item) => console.log(item));
  21. //3. 当有多条语句时,函数体的{}大括号不能省
  22. //4. 如果函数体只有一条语句时可以省略大括号
  23. let fun1 = (name, price) => {
  24. console.log(name);
  25. return ["苹果12", name, price];
  26. };
  27. let res1 = fun1(name, price);
  28. res1.forEach((item) => console.log(item));
  29. //返回对象时要用()包住
  30. let obj = name => ({ 型号: name, 价格: 3999 });
  31. let res2 = obj(name);
  32. for (let key in res2) console.log(res2[key]);
  33. </script>
  34. </body>
  35. </html>

获取DOM元素的方式

1.传统方式

  1. //标签获取
  2. document.getElementsByTagName("li");
  3. //id获取
  4. document.getElementById("list");
  5. //class获取
  6. document.getElementsByClassName("item");

2.CSS选择器方式

  • 返回匹配元素集合的第一个值
    document.querySelector()

  • 返回匹配元素集合
    document.querySelectorAll()

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <ul id="list">
  10. <li class="item">item1</li>
  11. <li class="item">item2</li>
  12. <li class="item">item3</li>
  13. <li class="item">item4</li>
  14. <li class="item">item5</li>
  15. <li class="item">item6</li>
  16. </ul>
  17. <script>
  18. //1. 返回匹配的元素集合中的第一个元素,(返回第一个)
  19. let li = document.querySelector(".itme");
  20. //2. 返回匹配的元素集合
  21. let list = document.querySelectorAll(".item");
  22. //返回nodelist,并不是数组
  23. list.forEach((item) => (item.style.color = "red"));
  24. //可使用伪类选择器
  25. let first = document.querySelectorAll(".item:last-of-type");
  26. first[0].style.color = "blue";
  27. //标签获取
  28. document.getElementsByTagName("li");
  29. //id获取
  30. document.getElementById("list");
  31. //class获取
  32. document.getElementsByClassName("item");
  33. </script>
  34. </body>
  35. </html>

classList对象与dataset对象

  • classlist对象用来操作元素的类,增加、修改、移除、判断
  • dataset对象用来操作自定义属性

classlist

  • 添加
    p.classList.add('red');
  • 移除
    p.classList.remove('red');
  • 替换
    p.classList.replace('red','blue')
  • 自动替换

动态切换样式,如果已有则删除,没有则添加
p.classList.toggle('red');

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. <style>
  8. .red {
  9. color: red;
  10. }
  11. .blue {
  12. background-color: blue;
  13. }
  14. .violet {
  15. background-color: violet;
  16. }
  17. .pink {
  18. color: lightpink;
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <p class="red">我是p标签</p>
  24. <!-- <p>我是p标签</p> -->
  25. <script>
  26. let p = document.querySelector("p");
  27. //添加蓝色背景
  28. //p.classList.add("blue");
  29. //移除红色字体
  30. //p.classList.remove("red");
  31. //替换背景颜色
  32. //p.classList.replace("blue", "violet");
  33. //动态切换样式
  34. p.classList.toggle("red");
  35. </script>
  36. </body>
  37. </html>

dataset

  • 访问自定义属性
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <div
  10. class="user"
  11. data-email="php@php.cn"
  12. data-myid="q110"
  13. data-my-id="a1001"
  14. ></div>
  15. <script>
  16. let user = document.querySelector(".user");
  17. //dataset专门用来访问自定义的标签属性
  18. // alert(user.dataset.email);
  19. //如果自定属性名中像data-my-id访问时需要将id首字母大写
  20. //如果访问采用驼峰写法访问名为data-myid的也是访问不到的
  21. //要么不加横杠全小写,要么加了访问横杠后第一个字母大写
  22. alert(user.dataset.myId);
  23. alert(user.dataset.myid);
  24. </script>
  25. </body>
  26. </html>
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post