pochi1234回答ポイント 100ptウォッチ 3

Javascriptのprototypeの理解について困っています。


prototypeでメソッドを定義するのは、コンストラクタにメソッドを記述するとメモリが食うことはわかるのですが、
コンストラクタに定義したプロパティとメソッドが、prototypeで重複して定義していなければ、prototypeに定義したプロパティメソッドをprototype参照を使わないで使用できますし(それでもオブジェクトのインスタンスからしか参照できないですが)
Rectangle.getArea()のように定義する機会はどうなのでしょうか?
混乱して困っています。

実際、Rectangle.getArea()のようなオブジェクトからの参照の使い方をしているのは、標準グローバルオブジェクトでは主に
各オブジェクトのprototypeや継承しているもの
StringオブジェクトのfromCharCode()
Numberオブジェクトの計算に使うもの
だと思っているのですが、

文章がおかしくなってすみません。


function Rectangle(w, h) {
this.width = w || 0, this.height = h || 0;
}

// 2つのメソッドの違い
Rectangle.getArea = function() { return this.width * this.height; };
Rectangle.prototype.getArea = function() { return this.width * this.height; };

// テスト
var r = new Rectangle(10, 10);

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

ベストアンサー

その他の回答

この質問へのコメント

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2010-04-09 08:05:33
終了日時
2010-04-10 09:12:47
回答条件
1人2回まで

この質問のカテゴリ

この質問に含まれるキーワード

JavaScript2781インスタンス183メソッド515オブジェクト658Prototype57コンストラクタ48プロパティ805継承143

人気の質問

メニュー

PC版