prototype是一个属性,所有的函数都有,这个属性引用了一个对象,即原型对象,简称原型。所以大多数把prototype之间叫原型。
通过原型可以实现方法或者属性扩充
比如
function A(){
}
A.prototype.show=function(){//扩充函数A的方法show
alert('1');
}
实现原型链方式的继承。
function B(x,y){
this.y = y;
}
B.prototype = new A();//这是b也有show方法
代表方法A的对象以及所有用方法A初始化的对象都有一个prototype属性,指向同一个原型prototypeA;
而prototypeA有一个constructor属性,指向代表方法A的对象。
通过new运算符创建的对象,构造函数.prototype的值就是该对象的原型对象。
var now = new Date();
如上代码,now对象的原型对象就是Date.prototype。
原型链,仅此而已.
用来实现面向对象的继承