Blogger Information
Blog 16
fans 0
comment 0
visits 16184
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
解构赋值 、函数参数中使用解构的方式、 dom元素的增删改查、 dataset,classList对象的使用方式与场景
Leo的博客
Original
668 people have browsed it

解构赋值

  1. const user = ["js", "617896945@qq.com"];

将用户,邮箱,保存到独立 变量中

  1. let userName = user[0];
  2. let userEmail = user[1];
  3. console.log(userName, userEmail);

es6,解构完成以上功能
将多值/引用,解析到单值变量中
针对 数组,对象

数组结构

模板 = 具体的值

  1. let [name, email] = ["js", "6945@qq.com"];
  2. console.log(userName, userEmail);

更新

  1. [name, email] = ["css", "6178@qq.com"];
  2. console.log(name, email);

参数不足
会提示undefined,所以给age加入值

  1. [name, email, age] = ["KJ", "6178945@qq.com"];
  2. console.log(name, email, age);

输出:


参数过多
加入e,e就是数组

  1. let [a, b, c, d, ...e] = [1, 2, 3, 4, 5, 6, 7];
  2. console.log(a, b, c, d, e);

输出:


交换两个数

  1. let x = 10;
  2. let y = 20;
  3. console.log("x = %d , y = %d", x, y);
  4. let t = 0;
  5. t = x;
  6. x = y;
  7. y = t;

简化和上面效果一样

  1. [x, y] = [y, x];
  2. console.log("x = %d , y = %d", x, y);

>对象结构

  1. let { id, course, score } = { id: 1, course: "js", score: 88 };

属性与对象同名

  1. console.log(id, course, score);

更新
等号左边(左值)不允许出现大括号,使用括号包住将它转为表达式

  1. ({ id, course, score } = { id: 2, course: "php", score: 99 });
  2. console.log(id, course, score);

某一个变量在作用域中存在
使用别名,防止命名冲突

  1. let { name: myName, email: myEmail } = {
  2. name: "em",
  3. email: "234@qq.com",
  4. };
  5. console.log(myName, myEmail);

输出:


参数不足,也能用归并参数a:1,b:2,c:3

  1. let { ...r } = { a: 1, b: 2, c: 3 };
  2. console.log(r);

输出:

函数参数中使用解构的方式

  1. function getUser(user) {
  2. console.log(user.id, user.name, user.email);
  3. }
  4. getUser({ id: 987, name: "move", email: "moveTo@qq.com" });

简化
结构简化传参与使用

  1. function getUser({ id, name, email }) {
  2. console.log(id, name, email);
  3. }
  4. getUser({ id: 789, name: "momo", email: "moveTo@qq.com" });

输出:

dom元素的增删改查

创建元素
内存中,页面不可见

  1. let div = document.createElement("div");
  2. let p = document.createElement("p");
  3. p.textContent = "hello world";

添加到页面中

  1. p.append("大家好");
  2. div.append(p);
  3. document.body.append(div);
  4. const li = document.createElement("li");
  5. li.textContent = "第一个";
  6. div.append(li);

insertAdjacentElement(‘插入位置’, 元素)
插入位置有四个

afterBegin: 开始标签之后,第一个子元素

beforeBegin: 开始标签之前,是它的前一
个兄弟元素

afterEnd: 结束标签之后,它的下一个兄弟元素

beforeEnd:结束标签之前,它的最后一个子元素


插入到开始标签之前

  1. const item = document.createElement("li");
  2. item.textContent = "2021年10月14号下午16点46分";
  3. div.insertAdjacentElement("beforebegin", item);

插入到标签最后

  1. const h3 = document.createElement("h3");
  2. h3.textContent = "2021年10月14号下午16点51分了";
  3. div.insertAdjacentElement("beforeEnd", h3);

输出:


dataset,classList对象的使用方式与场景

dataset对象

id,class: 内置/预定义
email, index: 自定义/ 数据属性

  1. <div id="user" class="active" data-email="admin@php.cn" data-index="5">
  2. <h2>Hello world</h2>
  3. </div>

dataset对象: 用于获取用户的自定义属性
自定义必须使用data-为前缀, 访问时前缀不要写

  1. const div = document.querySelector("#user");
  2. console.log(div.dataset.email);
  3. console.log(div.dataset.index);

输出:

classList对象

  1. <style>
  2. .red {
  3. color: red;
  4. }
  5. .bgc {
  6. background-color: yellow;
  7. }
  8. .blue {
  9. color: blue;
  10. }
  11. h2 {
  12. border: 5px solid #000;
  13. }
  14. </style>

lass后面加name 不然会重复,想加入背景色空格 输入bgc
document.querySelector(“h2”).className = “red bgc”;

  1. <script>
  2. const h2 = document.querySelector("h2");
  3. h2.classList.add("red");
  4. h2.classList.add("bgc");
  5. h2.classList.remove("bgc");
  6. h2.classList.replace("red", "blue");
  7. </script>
Correcting teacher:PHPzPHPz

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