e 11 ay önce
ebeveyn
işleme
a996e4d2b0
1 değiştirilmiş dosya ile 62 ekleme ve 0 silme
  1. 62 0
      js/DOM/20.原型原型链.html

+ 62 - 0
js/DOM/20.原型原型链.html

@@ -0,0 +1,62 @@
+<!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 fn1() {
+            console.log('fn1',this);
+        }
+        fn1();
+        /**
+         * 构造函数
+         *  调用时 使用关键字 new 
+         *  方法名字首字母大写
+         *  this指向发生改变
+         */
+        /**
+         * 方法 写在原型下
+         * 属性 写在构造函数下
+        */
+        function Person(name,age) {
+            // this指向当前实例化的对象
+            // console.log(name);
+            // console.log(age);
+            this.name = name;
+            this.age = age;
+            console.log(this,'person');
+            // function
+            // prototype 原型
+            // constructor
+            Person.prototype.eat = function() {
+                console.log("爱吃桃子");
+            }
+        }
+        // new 实例化对象
+       var per = new Person("孙悟空",20);
+        console.log(per.name)
+        console.log(per.age)
+        per.eat();
+        console.log(per,'111')
+        // console.log(per._photo_,'原型链') //undefined 
+        function Animal() {
+            console.log(this,'动物')
+        }
+        new Animal();
+        /**
+         * 构造函数中自带了两个值
+         * prototype 原型
+         * constructor 构造函数指向对象
+        */
+       /**
+        * 原型链
+        * 访问对象时 现在对象本身寻找
+        * 通过_photo_去构造函数的原型上寻找
+        * 若还未找到 则去prototype上找 找到则返回 未找到则返null
+       */
+    </script>
+</body>
+</html>