ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript 高度なプログラミング読書メモ (13) クラスまたはオブジェクトの js 定義_javascript スキル

JavaScript 高度なプログラミング読書メモ (13) クラスまたはオブジェクトの js 定義_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 17:51:03970ブラウズ
ファクトリ メソッド

特定の型のオブジェクトを作成して返します。

コードをコピー コードは次のとおりです。

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 メソッドがありますが、これは共有できます。


コンストラクター メソッド


例:



コードをコピー
コードは次のとおりです。 function Car(sColor,iDoors,iMpg){ this.color=sColor; this.door=iDoors; =iMpg ;
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
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。