21_解构赋值.html 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. //1、解构赋值
  11. // let arr = [1, 2, 3, 4, 5];
  12. // let a = arr[0];
  13. // let b = arr[1];
  14. // ....
  15. // 数组解构赋值 定义一个数组 并将数组中的元素赋值给变量 [变量名1, 变量名2, 变量名3, ... 变量名n] = 数组名
  16. // 数组解构赋值是按照顺序执行的
  17. // let [a, b, c, d,e] = arr;
  18. // console.log(a, b, c, d,e);
  19. // 对象结构赋值
  20. // let obj = {
  21. // userName: "张三",
  22. // age:20,
  23. // sex: "男"
  24. // };
  25. // let age = 20;
  26. // let userName = obj.userName;
  27. // let age = obj.age;
  28. // let sex = obj.sex;
  29. // 对象解构赋值 定义一个对象 并将对象中的属性赋值给变量 {属性名1, 属性名2, ... 属性名n} = 对象名
  30. // 对象解构赋值是按照属性名一一对照赋值的
  31. // 可以为属性赋默认值 {属性名=默认值} = 对象名 如果属性不存在 则使用默认值 如果属性存在 则使用属性值
  32. // let {sex,userName, age = 18} = obj;
  33. // console.log(userName, age, sex);
  34. // 可以为属性起别名 {属性名:别名} = 对象名
  35. // let {userName, age:userAge, sex} = obj;
  36. // console.log(userName, userAge, sex);
  37. // 字符串解构
  38. // let str = "hello world";
  39. // let [a,b,c,d,e,f] = str;
  40. // console.log(a,b,c,d,e,f);
  41. // 使用场景
  42. // 1、函数参数解构
  43. // function add(obj) {
  44. // console.log(obj.a+obj.b);
  45. // }
  46. // function add({a, b}) {
  47. // console.log(a+b);
  48. // }
  49. // add({a:1, b:2});
  50. // 2、函数返回值解构
  51. // function foo(){
  52. // return {
  53. // a:1,
  54. // b:2
  55. // }
  56. // }
  57. // let {a,b} = foo();
  58. // console.log(a, b);
  59. // 3、变量互换
  60. // let a = 1;
  61. // let b = 2;
  62. // // let temp = a;
  63. // // a = b;
  64. // // b = temp;
  65. // // 解构赋值 可以直接将变量的值互换
  66. // [a, b] = [b, a];
  67. // console.log(a, b);
  68. </script>
  69. </body>
  70. </html>