美文网首页
我理解的prototype(图)

我理解的prototype(图)

作者: 取个帅气的名字真好 | 来源:发表于2017-10-30 21:40 被阅读11次

首先构造对象:

    function person(nick, age){
        this.nick = nick;
        this.age = age;
        this.printName = function(){
              console.log(this.nick);
      }
  }
 var p1 = new Person('LiLi', 20);//new 创建对象
 var p1 = new Person('MM', 25);//new 创建对象

引发下图:

prototype.png

1、p1.、__proto__ 指向>> prototype
2、p2.__proto__ 指向>> prototype
3、 person.prototype 指向>> prototype
4、person.prototype.constructor 指向>> person
5、Person.prototype.__proto__ ==__p1.__proto__.__proto__
6、Person.prototype.__proto__ ==__p2.__proto__.__proto__
7、p1.__proto__ == p2.__proto__

如下:

prototype.png
总结:

1、当 new 一个函数的时候会创建一个对象,『函数.prototype』 等于 『被创建对象.__proto__』

2、一切函数都是由 Function 这个函数创建的,所以『Function.prototype === 被创建的函数.__proto__』

3、一切函数的原型对象都是由 Object 这个函数创建的,所以『Object.prototype === 一切函数.prototype.__proto__』

相关文章

网友评论

      本文标题:我理解的prototype(图)

      本文链接:https://www.haomeiwen.com/subject/jazppxtx.html