ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript共通オブジェクトクラスの作成コードとメリット・デメリットの分析_jsオブジェクト指向

JavaScript共通オブジェクトクラスの作成コードとメリット・デメリットの分析_jsオブジェクト指向

WBOY
WBOYオリジナル
2016-05-16 18:40:061158ブラウズ

Javascript でクラスを構築するにはいくつかの方法があります。
1.ファクトリ メソッド

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

function createCar(){
var car = new Object();
car.color="b"; ;
car.run=function(){alert(”run”);}
return car;
}

このような関数を定義した後、以下を使用できます。 🎜> var car1 = createCar();
var car2 = createCar();
このメソッドの問題は、car オブジェクトが作成されるたびに関数を再実行する必要があることです。


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

コードをコピーします コードは次のとおりです。 function Car(){
this.color=”b”;
this.run=function( ){alert(”run”);}
}
var car1=new Car();


これは最も基本的なものですメソッドですが、ファクトリ メソッドと同じ問題もあります


3.プロトタイプ メソッド




コードをコピー
コードは次のとおりです。 function Car(){ } Car.prototype.color=”b”;
Car.prototype.length =1;
Car.prototype.run=function(){alert ("run");


このメソッドの欠点は、このクラスが参照属性を持っていることです。 、1 つのオブジェクトのこの属性を変更すると、他のオブジェクトの属性も変更されます
例:



コードをコピー

コードは次のとおりです。次のように: Car.prototype.data1=new Array() ; var car1=new Car(); var car2=new Car(); data1.push("a");
このとき、car2 .data には "a" 要素


4. > [よく使われる]



コードをコピー
コードは次のとおりです:
function Car() { this.color=”b”; this.length=1; this .data1=new Array(); Car.prototype.run=function(){ alert("dddd");
}


この種類 この方法は、現在広く使用されている方法です


プロトタイプメソッド [よく使われる]




コードをコピー

コードは次のとおりです。
function Car(){ this.color="b"; this.data1=new Array(); if(typeof Car.initilize=) =”未定義”){ Car.prototype.run=function(){alert(”a”);} }
Car.initilize=true
}


これらのメソッドの中で、最も一般的に使用されるのは、ハイブリッド プロトタイプ/コンストラクター メソッドと動的プロトタイプ メソッドです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。