fengchuanyu 16 часов назад
Родитель
Сommit
0dc356aba8
3 измененных файлов с 178 добавлено и 0 удалено
  1. 78 0
      8_ES6/21_解构赋值.html
  2. 59 0
      8_ES6/22_扩展运算符.html
  3. 41 0
      8_ES6/23_JSON.html

+ 78 - 0
8_ES6/21_解构赋值.html

@@ -0,0 +1,78 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+    <script>
+        //1、解构赋值
+        // let arr = [1, 2, 3, 4, 5];
+        // let a = arr[0];
+        // let b = arr[1];
+        // ....
+        // 数组解构赋值 定义一个数组 并将数组中的元素赋值给变量 [变量名1, 变量名2, 变量名3, ... 变量名n] = 数组名
+        // 数组解构赋值是按照顺序执行的
+        // let [a, b, c, d,e] = arr;
+        // console.log(a, b, c, d,e);
+
+        // 对象结构赋值
+        // let obj = {
+        //     userName: "张三",
+        //     age:20,
+        //     sex: "男"
+        // };
+        // let age = 20;
+        // let userName = obj.userName;
+        // let age = obj.age;
+        // let sex = obj.sex;
+        // 对象解构赋值 定义一个对象 并将对象中的属性赋值给变量 {属性名1, 属性名2, ... 属性名n} = 对象名
+        // 对象解构赋值是按照属性名一一对照赋值的
+        // 可以为属性赋默认值 {属性名=默认值} = 对象名 如果属性不存在 则使用默认值 如果属性存在 则使用属性值
+        // let {sex,userName, age = 18} = obj;
+        // console.log(userName, age, sex);
+        // 可以为属性起别名 {属性名:别名} = 对象名
+        // let {userName, age:userAge, sex} = obj;
+        // console.log(userName, userAge, sex);
+
+        // 字符串解构
+        // let str = "hello world";
+        // let [a,b,c,d,e,f] = str;
+        // console.log(a,b,c,d,e,f);
+
+        // 使用场景
+        // 1、函数参数解构
+        // function add(obj) {
+        //     console.log(obj.a+obj.b);
+        // }
+        // function add({a, b}) {
+        //     console.log(a+b);
+        // }
+        // add({a:1, b:2});
+
+        // 2、函数返回值解构
+        // function foo(){
+        //     return {
+        //         a:1,
+        //         b:2
+        //     }
+        // }
+        // let {a,b} = foo();
+        // console.log(a, b);  
+
+        // 3、变量互换
+        // let a = 1;
+        // let b = 2;
+
+        // // let temp = a;
+        // // a = b;
+        // // b = temp;
+        // // 解构赋值 可以直接将变量的值互换
+        // [a, b] = [b, a];
+        // console.log(a, b);
+        
+
+    </script>
+</body>
+</html>

+ 59 - 0
8_ES6/22_扩展运算符.html

@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+    <script>
+        // 扩展运算符 "..."
+        let arr = [1,2,3,4,5,6,["a","b","c"]];
+        // let arr2 = arr;
+        // arr[0] = 100;
+        // let arr2 = [];
+        // arr2[0] = arr[0];
+        // arr2[1] = arr[1];
+        // ....
+
+        // 数组扩展 用于复制数组 只能是一维数组
+        // let arr2 = [...arr];
+        // arr[0] = 100;
+        // arr[6][0] = "hello";
+        // console.log(arr);
+        // console.log(arr2);
+
+        // 数组扩展 用于合并数组
+        // let arr1 = [1,2,3,4];
+        // let arr2 = [4,5,6];
+        // let arr3 = [...arr1,...arr2];
+        // console.log(arr3);
+
+        // 对象扩展
+        // let obj1 = {
+        //     name:"张三",
+        //     age:18
+        // }
+        // // let obj2 = obj1;
+        // let obj3 = {...obj1};
+        // obj1.name = "李四";
+        // console.log(obj3);
+
+        // "..." 用于接收参数 可以扩展也可以表示剩余
+        // function add(...args){
+        //     // 如果接受的是不确定个数的参数就可以扩展运算符 他会将所有参数以数组的形式进行保存 类似于arguments对象
+        //     // console.log(arguments);
+        //     // console.log(args)
+            
+        // }
+
+
+        // 如果前半部分参数确定且接受 后半部分不确定那么可以是“...” 表示剩余参数 剩余运算符
+        function add(a,...args){
+            console.log(a,args);
+        }
+        add(1,2,3);
+        
+    </script>
+</body>
+</html>

+ 41 - 0
8_ES6/23_JSON.html

@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+    <script>
+        // JSON 常用于前后端数据交互 本质上就是字符串 对象格式的字符串
+        // let person = {
+        //     name:"张三",
+        //     age:18
+        // }
+        // // 将对象转换为 JSON 字符串
+        // let personJson = `{"name":"张三","age":18}`;
+        // console.log(personJson);
+
+        let person = {
+            name:"张三",
+            age:18,
+            sex:"男",
+            address:"中国",
+            phone:"13800000000",
+            email:"zhangsan@example.com",
+            isSingle:true,
+            hobbies:["篮球","足球","跑步"]
+        }
+        // 将对象转换为 JSON 字符串 JSON.stringify();
+        let personJson = JSON.stringify(person);
+        console.log(personJson);
+        // console.log(person);
+        // 将 JSON字符串转换为对象 JSON.parse();
+        let personObj = JSON.parse(personJson);
+        console.log(personObj);
+
+        
+
+    </script>
+</body>
+</html>