e пре 11 месеци
родитељ
комит
826ccf017d
2 измењених фајлова са 101 додато и 0 уклоњено
  1. 40 0
      js/DOM/18.this指向.html
  2. 61 0
      js/DOM/19.修改this指向.html

+ 40 - 0
js/DOM/18.this指向.html

@@ -0,0 +1,40 @@
+<!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>
+    <div id="box1">12</div>
+    <script>
+        var box1 = document.getElementById("box1");
+
+        // 点击事件 this指向当前点击对象
+        box1.onclick = function() {
+            console.log(this);
+        }
+
+        // 定时器 this指向window
+        // var timer = setInterval(()=>{
+        //     console.log(this,'定时器')
+        // },1000)
+
+        // 对象中 当前对象
+        var person = {
+            name:"孙悟空",
+            age:18,
+            say:function() {
+                console.log(this);
+            }
+        }
+        person.say();
+
+        // 函数 this指向window
+        function fn1() {
+            console.log(this);
+        }
+        fn1()
+    </script>
+</body>
+</html>

+ 61 - 0
js/DOM/19.修改this指向.html

@@ -0,0 +1,61 @@
+<!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>
+        // 单行注释
+        /**
+         * 多行注释
+        */
+        /**
+         * 修改this指向:
+         * call apply
+         */
+        function fn1(x,y) {
+            var sum = x + y;
+            console.log(sum);
+            console.log(this);
+            console.log(this.name);
+        }
+        var obj = {
+            name: "Lucy"
+        }
+        // fn1(1,2);
+        // xxx.call(指向哪就传哪,参数1,参数2...)
+        fn1.call(obj,3,4)
+
+        function fn2(x,y) {
+            var sum = x * y;
+            console.log(sum); // 6
+            console.log(this); // window
+            console.log(this.age); 
+        }
+        var obj2 = {
+            name: "孙悟空",
+            age: 20
+        }
+        // fn2(2,3)
+        // xxx.apply(指向哪就传哪,[参数一,参数二...])
+        fn2.apply(obj2,[4,5])
+
+        function fn3(a,b) {
+            var sum = b - a;
+            console.log(sum); 
+            console.log(this);
+            console.log(this.name); 
+        }
+
+        var obj3 = {
+            name: "猪八戒",
+            age: 22
+        }
+        // fn3(6,7)
+        // xxx.bind(指向哪就传哪,参数1,参数2)()
+        fn3.bind(obj3,4,9)();
+    </script>
+</body>
+</html>