博主信息
博文 16
粉丝 0
评论 0
访问量 20690
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
解构赋值 、函数参数中使用解构的方式、 dom元素的增删改查、 dataset,classList对象的使用方式与场景
Leo的博客
原创
855人浏览过

解构赋值

  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>
批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学