Blogger Information
Blog 41
fans 0
comment 0
visits 41122
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
箭头函数的应用场景|rest,sprend参数的使用方法|获取dom元素的方式|classList对象与dataset对象的应该场景
幸福敲门的博客
Original
1370 people have browsed it

一、箭头函数的应用场景

箭头函数的基础知识:

匿名函数
箭头函数是用来简化匿名函数的语法糖
=> 胖箭头
-> 小箭头
没有参数,小括号必须要有
如果函数体只有一条语句,可以不写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对象

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