Blogger Information
Blog 21
fans 0
comment 0
visits 14743
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
(1103)循环与函数
Yuming
Original
561 people have browsed it

(1103)循环与函数

循环的所有形式必须全部熟悉并实例演示

1.while 循环 入口判断型

  1. while (true) {
  2. console.log("每天进步一点点,步子不要迈的太大");
  3. }

2.do-while 出口判断型

  1. do {
  2. console.log("每天进步一点点,步子不要迈的太大");
  3. } while (true);

3.计数型 遍历数组

  1. for(let i ; i < arra.length ; i++>){
  2. console.log('每天进步一点点,步子不要迈的太大', item[i])
  3. if(i ==0 ) break; //跳出代码块,终止循环
  4. if(i == 2) continue; //跳过本次执行这一行下面的代码,执行下一轮循环
  5. }

4.forEach 遍历数组(不能是类数组) ( 第几个数组 , 数组下表从零开始,所有数组 ) 无返回值

  1. array.forEach((item, key, arr) => {
  2. item += 1;
  3. console.log("每天进步一点点,步子不要迈的太大", item);
  4. });

5.for-of 遍历数组

  1. let obj = [1, 2];
  2. for (let item of obj) {
  3. console.log(item); // 1 2
  4. }

6.for-in 遍历对象(可枚举)

  1. let obj = { a: 1, b: 2 };
  2. for (let key in obj) {
  3. console.log(key); // key a b
  4. console.log(obj[key]); // value 1 2
  5. }

函数的所有形式,特别是 rest/spread, 箭头函数,全部实例演示

1….rest 将所有参数打包到一个数组变量中

  1. function test(...data) {
  2. console.log(data);
  3. }
  4. test([1, 2, 3, 4]);

2….spread 数组解包

  1. let data = [2, 3, 4, 5, 6, 6];
  2. function test(...data) {
  3. console.log(data);
  4. }
  5. test(...data);

实例演示获取 dom 元素的所有方法

  1. let ul = document.getElementById("test"); //方法一
  2. ul = document.getElementsByClassName("container"); //方法二
  3. ul = document.getElementsByName("test"); //方法三
  4. ul = document.getElementsByTagName("li"); //方法四 获取所有比配标签的集合
  5. let select = "#test";
  6. select = ".container";
  7. select = "li"; //返回匹配的数组集合中的第一个元素 ,可以通过方法六解决这个问题
  8. ul = document.querySelector(select); //方法五
  9. ul = document.querySelectorAll(select); //方法六 注意这里的select可以像css选择器那样描述
  10. 扩展;
  11. const $ = (select) => document.querySelectorAll(select);
  12. console.log($("li:nth-of-type(1)"));

实例演示 dom 的遍历方法,熟悉所有属性

  1. 方法一;
  2. for (let item of ul.children) {
  3. console.log(item);
  4. }
  5. 方法二; 这里之所以不能直接使用 ul.children.forEach() 是因为此时它是一个类数组 需要通过array.from()函数转为数组
  6. Array.from(ul.children).forEach((item) => {
  7. console.log(item);
  8. });
  • 这个就是类数组

  • 而这个是通过 array.from()函数转化的数组

  • 这个是我通过子面量简单生成的对象
  1. let xx = { a: 1, b: 2 };
  2. console.log(xx);

我们可以通过下图简单对比一下三者的异同点

关于元素的所有属性 级别分为兄弟元素 父子元素跟 CSS 选择器类似 关键字 children parent frist last ,需要特别注意的一点是他们是属性,所有千万不能在后面加括号当成函数执行他

  1. ul.children.length == ul.childElementCount; //取元素数组长度
  2. console.log(ul.childElementCount);
  3. // 子元素
  4. console.log(ul.firstElementChild);
  5. console.log(ul.lastElementChild);
  6. console.log(ul.children[0]);
  7. // 兄弟元素
  8. console.log(ul.children[1].previousElementSibling);
  9. console.log(ul.children[1].nextElementSibling);
  10. // 父元素
  11. console.log(ul.children[1].parentElement);
  12. console.log(ul.children[1].parentNode);

实例演示 dataset, classList 对象的使用

  1. <div class="container">
  2. <ul>
  3. <li id="test" data-id="347" data-name="xiaoming">item1</li>
  4. <li name="test">item2</li>
  5. <li>item3</li>
  6. </ul>
  7. </div>
  1. .red {
  2. color: red;
  3. }
  4. .green {
  5. color: green;
  6. }
  • dataset
  1. let ul = document.querySelector("ul");
  2. // dataset
  3. console.log(ul.firstElementChild.dataset.id);
  4. ul.firstElementChild.dataset.name = "小米";
  5. console.log(ul.firstElementChild.dataset.name);
  • classList
  1. ul.firstElementChild.classList.add("red");
  2. ul.children[1].classList.add("red");
  3. ul.lastElementChild.classList.add("red");
  4. // 移除样式
  5. ul.firstElementChild.classList.remove("red");
  6. // 修改样式
  7. ul.lastElementChild.classList.replace("red", "green");
  8. ul.lastElementChild.classList.toggle("green"); //取反

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