標籤:
第一種模式:工廠方式
var lev=function(){ return "指令碼之家"; };
function Parent(){ var Child = new Object(); Child.name="指令碼"; Child.age="4"; Child.lev=lev; return Child; };
var x = Parent();
alert(x.name);
alert(x.lev());
第二種模式:建構函式方式
var lev=function(){ return "指令碼之家"; };
function Parent(){ this.name="指令碼"; this.age="30"; this.lev=lev; };
var x =new Parent();
alert(x.name);
alert(x.lev());
第三種模式:原型模式
var lev=function(){ return "指令碼之家"; };
function Parent(){ };
Parent.prototype.name="李小龍";
Parent.prototype.age="30";
Parent.prototype.lev=lev;
var x =new Parent();
alert(x.name);
alert(x.lev());
第四種模式:混合的建構函式,原型方式(推薦)
function Parent(){ this.name="指令碼"; this.age=4; };
Parent.prototype.lev=function(){ return this.name; };
var x =new Parent();
alert(x.lev());
第五種模式:動態原型方式
function Parent(){ this.name="指令碼"; this.age=4; if(typeof Parent._lev=="undefined"){
Parent.prototype.lev=function(){ return this.name; } Parent._lev=true; }
};
var x =new Parent();
alert(x.lev());
js物件導向的幾種方式