博客列表 >箭头函数的应用场景|rest,sprend参数的使用方法|获取dom元素的方式|classList对象与dataset对象的应该场景

箭头函数的应用场景|rest,sprend参数的使用方法|获取dom元素的方式|classList对象与dataset对象的应该场景

幸福敲门的博客
幸福敲门的博客原创
2020年12月31日 16:29:291368浏览

一、箭头函数的应用场景

箭头函数的基础知识:

匿名函数
箭头函数是用来简化匿名函数的语法糖
=> 胖箭头
-> 小箭头
没有参数,小括号必须要有
如果函数体只有一条语句,可以不写return和”{}”
let model = ‘MacBook Pro’;
如果函数体只有一条语句,可以不写return和”{}
let demo7 = (id, name, model) => [id, name, model];
只有一个参数, 参数的小圆括号也可以不写
当参数只有一个时,圆括号可以省略,如果没有参数,反而不能省
当有多个参数时, 圆括号必须要写
当有多条语句时,函数体的大括号不能省
如果函数体只有一条语句时,可以省略大括号

实例:

  1. <script>
  2. // 没有参数,小括号必须要有
  3. let age = () =>12;
  4. console.log(age(),);
  5. </script>

图示:
箭头函数

实例:

  1. <script>
  2. //多参数,多条语句,() 不能省,{} 不能省
  3. let id = '589';
  4. let name ='黄蓉';
  5. let age = 15;
  6. let mail='hr@cnsina.gov.cn'
  7. let demo7 = (id, name, age,mail) =>{(id, name, age,mail)};
  8. console.log(id, name, age,mail);
  9. </script>

图示:
箭头函数

二、rest,sprend参数的使用方法

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

图示:
rest,sprend参数

三、获取dom元素的方式

用css选择器来获取元素
用jQuery选择器来获取元素

3.1用css选择器来获取元素
实例:

  1. <ul id="list">
  2. <li class="item">item1</li>
  3. <li class="item">item2</li>
  4. <li class="item">item3</li>
  5. <li class="item">item4</li>
  6. <li class="item">item5</li>
  7. <li class="item">item6</li>
  8. </ul>
  9. <script>
  10. // tag, id, class,name...
  11. // 用css选择器来获取元素
  12. // 1. 返回匹配的元素集合中的第一个元素,(返回一个)
  13. const li = document.querySelector('.item');
  14. console.log(li);
  15. </script>

图示:
css选择器来获取元素

3.2用css选择器返回匹配的元素集合所有成员

  1. <ul id="list">
  2. <li class="item">item1</li>
  3. <li class="item">item2</li>
  4. <li class="item">item3</li>
  5. <li class="item">item4</li>
  6. <li class="item">item5</li>
  7. <li class="item">item6</li>
  8. </ul>
  9. <script>
  10. 返回匹配的元素集合所有成员
  11. const lis = document.querySelectorAll('.item');
  12. NodeList: 不是真正的数组,只有一个类数组
  13. console.log(lis);
  14. <script>

图示:
ss选择器返回匹配的元素集合所有成员

3.3将类数组通过 …语法转为真正的数组

  1. <ul id="list">
  2. <li class="item">item1</li>
  3. <li class="item">item2</li>
  4. <li class="item">item3</li>
  5. <li class="item">item4</li>
  6. <li class="item">item5</li>
  7. <li class="item">item6</li>
  8. </ul>
  9. <script>
  10. const lis = document.querySelectorAll('.item');
  11. let list = [...lis];
  12. console.log(list);
  13. lis.forEach(item => {
  14. console.log(item);
  15. item.style.color = 'blue';
  16. });
  17. </script>

图示:

3.4jQuery就是使用选择器来获取元素

  1. <ul id="list">
  2. <li class="item">item1</li>
  3. <li class="item">item2</li>
  4. <li class="item">item3</li>
  5. <li class="item">item4</li>
  6. <li class="item">item5</li>
  7. <li class="item">item6</li>
  8. </ul>
  9. <script>
  10. // $('.item')
  11. const $ = selector => document.querySelectorAll(selector);
  12. console.log($('.item'));
  13. $('.item').forEach(item => item.style.color = 'violet')
  14. // tag
  15. console.log(document.getElementsByTagName('li'));
  16. // id
  17. console.log(document.getElementById('list'));
  18. // class
  19. console.log(document.getElementsByClassName('item'));
  20. // let first = document.querySelector('.item:first-of-type');
  21. let first = document.querySelector('.item');
  22. console.log(first.style.color = 'green');
  23. // console.log(first[0].style.color = 'blue');
  24. </script>

四、classList对象与dataset对象的应该场景

4.1classList对象

classList.add( newClassName );
添加新的类名,如已经存在,取消添加
classList.contains( oldClassName );
确定元素中是否包含指定的类名,返回值为true 、false;
classList.remove( oldClassName );
移除已经存在的类名;
classList.toggle( className );
如果classList中存在给定的值,删除它,否则,添加它;
classList.replace( oldClassName,newClassName );
类名替换

  1. //删除类:select
  2. div.classList.remove("select");
  3. //添加类:select
  4. div.classList.add("select");
  5. //确定是否包含给定的类:select
  6. div.classList.contains("select");
  7. //切换类:select,存在删除,不存在,就添加;
  8. div.classList.toggle("select");
  9. //替换类:新类newSelect替换老类select;
  10. div.classList.replace("select","newSelect");
  11. //迭代类;
  12. for(var i = 0,len = div.classList.length; i < len; i++){
  13. doSomething(div.classList[i]);
  14. }

4.2dataset对象

  1. <body>
  2. <div class="user" data-email='tp@php.cn' data-my-gender="男">个人简介</div>
  3. <script>
  4. const user = document.querySelector('.user');
  5. user.id = 'A005';
  6. console.log(user.id);
  7. // dataset对象专用于访问自定义的标签属性
  8. console.log(user.dataset.email);
  9. console.log(user.dataset.myGender);
  10. </script>
  11. </body>

图示:
dataset对象

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