28

私は JavaScript と呼ばれるこの黒魔術に頭を悩ませようとしています。主に「easeljs」を使用するため、主に「easeljs」のコード例を見てきました。そして、私は少し混乱しています..

変数であるprototypefor 関数またはプロパティを使用することと、 for 'instance' 変数を使用することの違いを理解しています (はい、JavaScript にはクラスがないことを理解しています)。classthis.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;
}());
4

4 に答える 4