私は JavaScript と呼ばれるこの黒魔術に頭を悩ませようとしています。主に「easeljs」を使用するため、主に「easeljs」のコード例を見てきました。そして、私は少し混乱しています..
変数であるprototype
for 関数またはプロパティを使用することと、 for 'instance' 変数を使用することの違いを理解しています (はい、JavaScript にはクラスがないことを理解しています)。class
this.someProp
私が見て、自分のコード、declare
prototype
変数のテンプレートとして使用しているコードは、これでそれらを参照します。
コンストラクターで:
this.name = name;
次に、宣言:
Object.prototype.name;
以降、
this.name = "Freddy";
これは「new」で呼び出される関数内にあるため、この場合、私が理解しているようにthis
、現在のオブジェクトを参照します。私が困惑しているのは、プロトタイプ宣言が何をしているのか、なぜそれをインスタンス変数に使用するのかということです。
明確化: 次のコードでは、radius のプロトタイプ宣言が何を達成しているのかわかりません。
(function(){
// constructor
function MyCircle(radius){
this.radius = radius;
}
MyCircle.prototype.radius;
this.area = function(){
return 3.14*this.radius*this.radius;
};
window.MyCircle = MyCircle;
}());