1.利用對(duì)象的動(dòng)態(tài)特性添加成員
varo={};
o.name=‘jim’
varPerson=function(){};
Person.prototype.sayHello=function(){
alert(“xxxx")
}
//此時(shí)原型對(duì)象是對(duì)象飞几,可以利用動(dòng)態(tài)特性隨時(shí)添加成員
//添加的成員都會(huì)被構(gòu)造函數(shù)的對(duì)象所繼承
2.利用覆蓋原型對(duì)象
varPerson=function(){};
Person.prototype={
say:function(){},
said:function(){}
constructor:Person;//添加constructor
}
如果使用這種方法會(huì)覆蓋掉原有的prototype方法(包括constructor) ?指向?yàn)闃?gòu)造函數(shù)的constructor
一定要給新對(duì)象添加一個(gè)constructor屬性
3.利用組合式繼承添加屬性
利用extend方法(在我之前的博客中有)
extend()
varPerson=function(){};
Person.prototype={
say:function(){},
said:function(){}
constructor:Person;//添加constructor
}
Person.extend=function(?msg?){
for(varkinmsg){
Person.prototype[k]=msg[k]
}
}
原文參考入口三種方法