博客列表 >(1103)循环与函数

(1103)循环与函数

Yuming
Yuming原创
2020年11月04日 15:24:37566浏览

(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"); //取反

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