原型对象
在说原型对象之前要明白几个单词的意思:
prototype (原型,雏形,蓝本) constructor (构造器)
不解释,先上关系图.
这就是他们之间的关系。用另一种方式解释一下prototype:
每一个函数都有一个prototype属性,这个属性其实是一个指针,二这个指针总是指向一个对象。这个对象的用途就是将特定的属性和方法包含在内,起到一个所有实例所共享的作用。
再用代码的角度来解释。
function Person(){
var obj = Person.prototype;
obj.name = 'yfh';
obj.age = 18;
obj.sayName = function(){
console.log(this.name);
}
}
var person1 = new Person();
var person2 = new Person();
alert(person1.sayName == person2.sayName);//true
再用另一个图解释一下
总结一下:
构造函数的.prototype = 原型对象
原型对象.constructor = 构造函数
实例对象.__proto__ = 原型对象