首先构造对象:
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.png1、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__』
网友评论