e hace 1 año
padre
commit
558ff0e92f

+ 11 - 0
day15/html/4.原型、原型链、构造函数.html

@@ -0,0 +1,11 @@
+<!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 src="../js/4.原型、原型链、构造函数.js"></script>
+</body>
+</html>

+ 34 - 0
day15/js/4.原型、原型链、构造函数.js

@@ -0,0 +1,34 @@
+// 单行注释
+/**
+ * 多行注释
+ */
+/**
+ * 属性 写在构造函数下
+ * 方法 写在原型对象下
+ */
+/**原型链:
+ * 当访问一个对象的属性时 先去对象的自身属性去找  找不到 
+ * 会通过_proto_(每个实例化对象自带的一个属性(隐性的))去构造函数上找
+ * 如果未找到 在Object对象上找 还未找到 返回 undefined 
+ */
+// 函数 构造函数
+function person(name,age) {
+    this.name = name;
+    this.age = age;
+    console.log(this.name,this.age)
+    /**
+     * 每一个构造函数(constructor)  都有一个prototype属性 
+     * prototype(显性的)属性 指向原型对象
+     */
+    // 原型对象:定义在原型对象下的属性和方法 能被实例化对象所共享了
+    person.prototype.eat = function() {
+        console.log(this.name,'属性')
+    }
+}
+// var a = new Object()
+// new 实例化对象
+// 相当于创建了一个新的对象
+var person1 = new person('LiLi',100);
+var news1 =  new person('喔喔',25);
+person1.eat();
+news1.eat();