Warum sollten Eigenschaften für den Prototyp für Instanzvariablen in JavaScript deklariert werden?

Ich versuche, meinen Kopf um dieses schwarze Kunst genannt, JavaScript - und, ich muss zugeben, ziemlich aufgeregt. Ich habe auf der Suche im code-Beispiele, vor allem aus easeljs, da das ist, was ich verwenden werde, vor allem. Und ich bin ein bisschen verwirrt..

Ich (denke ich) verstehen den Unterschied zwischen der Verwendung der Prototyp für Funktionen oder Eigenschaften, die 'class' - Variablen und verwenden diese.someProp für 'instance' - Variablen (ja, ich verstehe, dass es gibt keine Klassen in JavaScript.)

Den code habe ich mir angeschaut, und bin mit, die als Vorlage für meinen eigenen code erklären Prototyp Variablen und bezieht sich dann auf Sie mit diesem also

Im Konstruktor: this.name = name;

Dann eine Erklärung: Objekt.der Prototyp.name;

Und später.name = "Freddy";

Dies ist innerhalb von Funktionen aufgerufen, die mit 'neu' in diesem Fall also, so wie ich es verstehe, "diese" bezieht sich auf das aktuelle Objekt. Was mich verwirrt ist was der Prototyp-Deklaration macht und warum verwenden wir Sie für Instanz-Variablen?

Dank, Dave

OK, ein wenig Klärung. In den folgenden code, ich sehe nicht, was die Prototyp-Deklaration von radius erreichen:

(function(){
    //constructor
    function MyCircle(radius){
        this.radius = radius;
    }
    MyCircle.prototype.radius;
    this.area = function(){
        return 3.14*this.radius*this.radius;
    };
    window.MyCircle = MyCircle;
}());

InformationsquelleAutor der Frage DaveM | 2013-05-25

Schreibe einen Kommentar