理解JS中的prototype

来源:互联网 发布:汛情数据统计 编辑:程序博客网 时间:2024/05/20 19:15

prototype 是每个对象都具有的属性,用来向对象添加属性和方法。使用格式为A.prototype=new B();

使用时应将其与继承区分开,可理解为A将B中的全部属性和方法都复制了一遍。

例1.类B复制类A的所有属性和方法,类B的对象b对复制方法进行调用。

function A(){this.message=function(){alert("A.message");}}function B(){}B.prototype=new A();var b=new B();b.message();//弹窗显示"A.message"内容


例2.类B复制类A的所有属性和方法,当类A与类B包含同名方法时,类B的对象b会直接调用时实际上是调用B的方法。本例是如果对圆形类中的同名方法进行调用。

function A(){this.message=function(){alert("A.message");}}function B(){this.message=function(){alert("B.message");}}B.prototype=new A();var a=new A();var b=new B();b.message();//弹窗显示"B.message"内容a.message.call(b);//弹窗显示"a.message"内容


0 0