ファクトリ メソッド 特定の型のオブジェクトを作成して返します。
function createCar(sColor,iDoors) ,iMpg) {
var oTempCar=new Object();
oTempCar.doors=iDoors;
oTempCar.mpg=iMpg; (){
alert(this.color);
}
return oTempCar;
呼び出し例:
コードをコピーします
コードは次のとおりです。 var oCar1=createCar("red",4,23); createCar("blue", 3,25);
oCar1.showColor();
欠点: メソッドが繰り返し作成されます。上記の呼び出し例のように、oCar1 と oCar2 の両方に独自の shoColor メソッドがありますが、これは共有できます。
コンストラクター メソッド
例:
コードをコピー
this.showColor=function(){
alert(this.color)
}
}
呼び出し例:
コードをコピー
欠点: ファクトリ メソッドと同様に、メソッドは繰り返し作成されます。
Prototype メソッド
このメソッドは、オブジェクトのプロトタイプ プロパティを使用します。これは、新しいオブジェクトの作成に依存するプロトタイプとみなすことができます。ここでは、空のコンストラクターを使用してクラス名を設定し、すべてのプロパティとメソッドをプロトタイプ属性に直接割り当てます。前の例を書き直すと、コードは次のようになります。
コードをコピーします
コードは次のとおりです:
function Car(){
呼び出し:
コードをコピー
コードは
var oCar1=new Car();
var oCar2=new Car();
コンストラクターとプロトタイプ メソッドを一緒に使用します。例は次のとおりです。
コードをコピーします
コードは次のとおりです:
function Car(sColor,iDoors,iMpg){
this.color=sColor;
呼び出し例:
コードをコピー
コードは次のとおりです。次のように:
var oCar1=new Car("red",4, 23);
var oCar2=new Car("blue",3,25); >
利点: メモリの無駄がなく、作成が簡単です。
このメソッドは、ECMAScript で使用される主なメソッドです。
動的プロトタイプ メソッド コンストラクターとプロトタイプの混合メソッドを使用してオブジェクトの外部でオブジェクトのメソッドを定義するため、人々はそれほどオブジェクト指向ではなく、視覚的にもそうではないと感じます。カプセル化が適切であるため、動的プロトタイプ メソッドが生成されます:
コードをコピー
コードは次のとおりです:
関数 Car(sColor,iDoors,iMpg){ this.color=sColor;
this.mpg=iMpg;
if(typeof Car . _initialized=="未定義"){
Car.prototype.showColor=function(){
alert(this.color)
};
Car._initialized=true; 🎜>} 著者: Artwl 出典: http://artwl.cnblogs.com