fengchuanyu 4 tháng trước cách đây
mục cha
commit
4ad86dc643

+ 25 - 3
6_ES6/15_函数的扩展.html

@@ -61,10 +61,32 @@
         // let foo = () => {
         //     console.log(arguments);
         // }
-        let foo = (...arg) => {
-            console.log(arg);
+        // let foo = (...arg) => {
+        //     console.log(arg);
+         // }
+        // foo(1,2,3,4,5);
+
+    //    let foo = () => {
+    //         console.log(this);
+    //     }
+    //     foo();
+
+        let obj = {
+            a:100,
+            b:"hello",
+            foo(){
+                // console.log(this);
+                let foo2 = () => {
+                    console.log(this);
+                }
+                foo2();
+                function foo3(){
+                    console.log(this);
+                }
+                foo3();
+            }
         }
-        foo(1,2,3,4,5);
+        obj.foo();
     </script>
 </body>
 </html>

+ 30 - 0
6_ES6/19_构造函数.html

@@ -0,0 +1,30 @@
+<!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>
+        // 构造函数
+        var arr = new Array(1,2,3,4);
+        var str = new String('1234');
+
+        function Person(userName,userAge){
+            this.userName = userName;
+            this.userAge = userAge;
+            this.talk = function(){
+                console.log(`大家好我叫${this.userName}今年${this.userAge}岁了`);
+            }
+        }
+        var person1 = new Person('张三',18);
+        console.log(person1.userName);
+        console.log(person1.userAge);
+        person1.talk();
+        var person2 = new Person('李四',20);
+        console.log(person2.userName);
+        person2.talk();
+    </script>
+</body>
+</html>

+ 50 - 0
6_ES6/20_继承.html

@@ -0,0 +1,50 @@
+<!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>
+        function Person(userName, userAge) {
+            this.userName = userName;
+            this.userAge = userAge;
+            // this.talk = function () {
+            //     console.log(`大家好我叫${this.userName}今年${this.userAge}岁了`);
+            // }
+        }
+        Person.prototype.loveCoding = "四福";
+        Person.prototype.talk = function () {
+            console.log(`大家好我叫${this.userName}今年${this.userAge}岁了`);
+        }
+
+        // var p1 = new Person('张三', 18);
+        // p1.talk();
+
+        // 构造继承 无法继承原型上的属性和方法
+        // function Student(userName,userAge,school) {
+        //     Person.call(this,userName,userAge);
+        //     this.school = school;
+        // }
+        // let s1 = new Student('张三',18,'清华大学');
+        // console.log(s1.userName);
+        // console.log(s1.loveCoding);
+        
+        // 原型继承 
+        function Student(userName,userAge,school) {
+            this.userName = userName;
+            this.userAge = userAge;
+            this.school = school;
+        }
+        Student.prototype = new Person();
+        let s1 = new Student('张三',18,'清华大学');
+        console.log(s1.loveCoding);
+        console.log(s1.userName);
+        s1.talk();
+    </script>
+</body>
+
+</html>

+ 55 - 0
6_ES6/练习题7_深拷贝.html

@@ -0,0 +1,55 @@
+<!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>
+        var obj = {
+            name: 'zhangsan',
+            age: 18,
+            sex: '男',
+            friend:{
+                name: 'lisi',
+                age: 19
+            }
+        }
+        var arr = [1,2,3,4,5,[6,7,8,9]];
+
+        // 深拷贝
+        function deepClone(obj){
+            var res = null;
+            // 判断obj是不是对象或者是数组
+            if(typeof obj == 'object'){
+                if(Array.isArray(obj)){
+                    res = [];
+                    // 遍历数组
+                    for(let item of obj){
+                        res.push(deepClone(item));
+                    }
+                }else{
+                    res = {};
+                    // 遍历对象
+                    for(let key in obj){
+                        res[key] = deepClone(obj[key]);
+                    }
+                }
+            }else{
+                res = obj;
+            }
+            return res;
+        }
+
+        // var arr2 = deepClone(arr);
+        // arr[0] = "hello";
+        // arr[5][0] = "world";
+        // console.log(arr2);
+        var obj2 = deepClone(obj);
+        obj.age = 20;
+        obj.friend.age = 20;
+        console.log(obj2);
+    </script>
+</body>
+</html>