1. 实例演示解构赋值,特别是函数参数中使用解构的方式

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>解构赋值</title>
  8. </head>
  9. <body>
  10. <script>
  11. const user = ["猪老师", "498668472@qq.com"];
  12. // 将用户名,邮箱,保存到独立 变量中
  13. let userName = user[0];
  14. let userEmail = user[1];
  15. console.log(userName, userEmail);
  16. // es6, 解构完成以上功能
  17. // 将多值/引用,解析到单值变量中
  18. // 针对 数组, 对象
  19. // 1. 数组解构
  20. // 模板 = 具体的值
  21. let [name, email] = ["猪老师", "498668472@qq.com"];
  22. console.log(name, email);
  23. //更新
  24. [name, email] = ["灭绝", "a@qq.com"];
  25. console.log(name, email);
  26. // 参数不足: 默认参数
  27. [name, email, age = 18] = ["灭绝", "a@qq.com"];
  28. console.log(name, email, age);
  29. // 参数过多: 归并参数
  30. let [a, b, c, d, ...e] = [1, 2, 3, 4, 5, 6, 7];
  31. console.log(a, b, c, d, e);
  32. // 交换二个数
  33. let x = 10;
  34. let y = 20;
  35. console.log("x = %d, y = %d", x, y);
  36. // let t = 0;
  37. // t = x;
  38. // x = y;
  39. // y = t;
  40. // 使用解构一行搞定
  41. [y, x] = [x, y];
  42. console.log("x = %d, y = %d", x, y);
  43. // 2. 对象解构
  44. let { id, course, score } = { id: 1, course: "JS", score: 88 };
  45. // 属性与变量同名
  46. console.log(id, course, score);
  47. // 等号左边的数据,左值,禁止出现大括号 , 使用括号包住将它转为表达式进行求值
  48. ({ id, course, score } = { id: 2, course: "PHP", score: 99 });
  49. console.log(id, course, score);
  50. // 使用别名,防止命名冲突
  51. let { name: myName, email: myEmail } = { name: "灭绝", email: "a@qq.com" };
  52. console.log(myName, myEmail);
  53. let { ...r } = { a: 1, b: 2, c: 3 };
  54. console.log(r);
  55. // 3. 解构用在函数参数
  56. // function getUser(user) {
  57. // console.log(user.id, user.name, user.email);
  58. // }
  59. // 作用解构来简化传参与使用
  60. function getUser({ id, name, email }) {
  61. console.log(id, name, email);
  62. }
  63. getUser({ id: 156, name: "李四", email: "ls@a.com" });
  64. </script>
  65. </body>
  66. </html>

2. dom元素的增删改查基本操作,必须达到熟练层次

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>dom元素的增删</title>
  8. </head>
  9. <body>
  10. <script>
  11. // 创建元素
  12. // 内存中,页面中不可见
  13. let div = document.createElement("div");
  14. let p = document.createElement("p");
  15. p.textContent = "hello world";
  16. // 添加到页面中
  17. p.append("大家好");
  18. div.append(p);
  19. document.body.append(div);
  20. const li = document.createElement("li");
  21. li.textContent = "第一个";
  22. div.append(li);
  23. // insertAdjacentElement('插入位置', 元素)
  24. // 插入位置有四个
  25. // afterBegin: 开始标签之后,第一个子元素
  26. // beforeBegin: 开始标签之前,是它的前一个兄弟元素
  27. // afterEnd: 结束标签之后,它的下一个兄弟元素
  28. // beforeEnd: 结束标签之前,它的最后一个子元素
  29. const item = document.createElement("li");
  30. item.textContent = "大家再坚持一会";
  31. div.insertAdjacentElement("beforeBegin", item);
  32. const h3 = document.createElement("h3");
  33. h3.textContent = "我有点饿了";
  34. div.insertAdjacentElement("beforeEnd", h3);
  35. </script>
  36. </body>
  37. </html>

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

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>自定义属性: dataset对象</title>
  8. </head>
  9. <body>
  10. <!-- id,class: 内置/预定义
  11. email, index: 自定义/ 数据属性 -->
  12. <div id="user" class="active" data-email="admin@php.cn" data-index="5">
  13. <h2>Hello world</h2>
  14. </div>
  15. <script>
  16. const div = document.querySelector("#user");
  17. // console.log(div["data-email"]);
  18. console.log(div.dataset.email);
  19. console.log(div.dataset.index);
  20. // dataset对象: 用于获取用户的自定义属性
  21. // 自定义必须使用data-为前缀, 访问时前缀不要写
  22. </script>
  23. </body>
  24. </html>

更多相关文章

  1. 原生Js增删改查及解构赋值
  2. JavaScript实现留言板添加删除留言
  3. box-sizing、伪类选择器参数及媒体查询的应用
  4. 仿smzdm移动端首页
  5. 关于PHP5和PHP7中数组实现方式的比较总结
  6. js语法:解构赋值、dom元素的增删改、dataset,classList对象的使用
  7. ES6 解构赋值
  8. 解构赋值、DOM操作以及dataset和classList对象的使用
  9. 模态框与flex,grid思维导图

随机推荐

  1. Android 开发知识收藏夹(2)
  2. Android(安卓)View与GroupView原理以及其
  3. android XMl 解析神奇xstream 四: 将复杂
  4. Qt for Android 调用android原生接口分享
  5. Android 9 (P)系统启动之SystemServer大
  6. Android开发经验总结——ListView的使用
  7. 解决Android(安卓)Toobar与状态栏重叠
  8. Android的ListView控件滚动时背景问题
  9. Android 应用程序(APK) 如何获得系统签名
  10. libacc : Android 2.0 內建的輕量級 C Co