123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <!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(this, "this"); // window
- return 1;
- }
- let a = fn1();
- // let xxx = function(){};
- // (function(){})()
- console.log(a, "a");
- /**
- * 构造函数:
- * 1.this指向当前对象本身
- * 2.首字母大写
- * 3.返回值不用return
- * 4.使用时 必须通过new调用
- *
- *
- * 属性 写在构造函数下
- * 方法 写在原型下
- */
- function Person(a, b) {
- this.name = a;
- this.age = b;
- console.log("person", this);
- }
- Person.prototype.eat = function() {
- console.log(this.name + '该吃饭了')
- }
- // 实例化对象
- let p = new Person("瑶一瑶", 4);
- console.log(p);
- p.eat()
- /**
- * 原型:
- * 1.构造函数中自带了prototype(显性)属性 指向 当前的原型
- * 2.构造函数中自带了一个属性constructor(构造器) 指向prototype的构造函数
- * 3.当前实例化对象中自带一个_proto_(隐性)属性 指向当前构造函数原型
- */
- /**
- * 原型链:
- * 访问实例化对象,在对象本身属性查找
- * 通过_proto_(原型自带的一个隐型方法查找)去原型上找
- * 若还找不到 则在原型对象上的prototype上查找(Object)若找到返回 若没有则返回null
- */
- </script>
- </body>
- </html>
|