JavaScriptクラスの使い方を詳しく解説_基礎知識

WBOY
リリース: 2016-05-16 17:34:31
オリジナル
1154 人が閲覧しました

クラスを作成するコンストラクター メソッドは次のとおりです。

コードをコピーします コードは次のとおりです。次のように:

関数 className (prop_1, prop_2, prop_3) {
this.prop1 = prop_1;
this.prop3 = prop_3;}


上記のクラスを使用して、クラスのインスタンスを作成できます。
コードをコピー コードは次のとおりです:
var obj_1 = new className(v1, v2, v3)
var obj_2 = new className(v1, v2, v3)

クラスに追加メソッド(メソッド)を与えることもできますが、実際はFunctionのFunctionです。

コードをコピーします コードは次のとおりです:
function className (prop_1, prop_2, prop_3) {
this.prop1 = prop_1;
this.prop2 = prop_2;
this.prop3 = prop_3;
this.func = function new_meth (property) {
//ここでコーディング
}
}


属性アクセス ドメイン: JavaScript では、オブジェクトのプロパティはデフォルトでグローバルです。これは、オブジェクトの内部と外部の両方でプロパティに直接アクセスできることを意味します。上の例では、this.prop1、this.prop2、および this.prop3 はすべてグローバル プロパティです。

プライベート属性を定義するにはどうすればよいですか? var を使用すると、次の例では、price がプライベート プロパティになります。


コードをコピー コードは次のとおりです:
function Car(listedPrice, color) {
varprice = listPrice;
this.color = color;
this.honk = function() {
console.log("BEEP BEEP!!");
};
}

プライベート プロパティにアクセスしたい場合は、オブジェクトにメソッドを追加してプライベート プロパティを返すことができます。メソッドはオブジェクト内にあるため、 のプライベート プロパティにアクセスできます。物体。このメソッドを外部から呼び出すことで、このプライベート プロパティにアクセスできます。ただし、メソッドではこれを使用できなくなりました。上記の例のように、価格にアクセスするには、オブジェクトにメソッドを追加します:

Copy code コードは次のとおりです。
this.getPrice = function() {
//ここに価格を返します。 -------------------------------------- ----------- --------------



継承:

次の構文を使用して継承します:


コードをコピーします コードは次のとおりです:ElectricCar.prototype = new Car();

instanceOf を使用して、オブジェクトがオブジェクトの継承であるかどうかを確認し、true または false を返します。


コードをコピーします コードは次のとおりです:myElectricCar instanceof Car

継承されたオブジェクトにメソッドを追加します:


コードをコピーします コードは次のとおりです: // コンストラクトを使用します 関数は新しいオブジェクトを定義します
function ElectricCar(listedPrice ) {
this.electricity=100;
varprice = listPrice;
}

//新しいオブジェクトに Car を継承させます
ElectricCar.prototype = new Car();

// 新しいオブジェクトのメソッドを追加します
ElectricCar.prototype.refuel = function(numHours) {

this.electricity = 5*numHours;

};


reプロトタイプ オブジェクトの値またはメソッドを記述します:
プロトタイプ オブジェクトを継承すると、プロトタイプの値とメソッドが継承されます。ただし、オブジェクトの値やメソッドが異なる場合があります。このとき、プロトタイプ オブジェクト




コードをコピーします
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート