Ich bin moderate Ebene Javascript Entwickler, der versucht zu verstehen, wie Backbone-Bibliothek intern arbeiten und wird zutiefst schätzen, wenn mir jemand helfen, einige Herausforderungen zu lösen.erklären Rückgrat Objekt und Klasse Erstellungsmuster
so hier ist, was ich
grundlegende Definition Konstruktorfunktion in Backbone verstehen ist
Backbone.Model = function(attributes, options) { }
dann verwenden sie für allgemeine Zwecke Verfahren verlängern gemeinsame Merkmale in Prototyp unseres Konstruktor hinzuzufügen.
_.extend(Backbone.Model.prototype, Backbone.Events, {...})
jetzt bis zu diesem Teil weiß, dass ich genau das, was passiert ist, und würde gerne neues Objekt instanziiert obwohl Code folgenden
var user = new Backbone.Model()
und das ist der Teil i anspruchs
bin zu finden Natürlich ist es nicht die Art, wie wir ein Objekt in Backbone instanziieren, aber wir verwenden die extend-Methode
var Users = Backbone.Model.extend({});
var user = new Users()
und in Backbone-Code
Backbone.Model.extend = extend;
var extend = function(protoProps, classProps) {
var child = inherits(this, protoProps, classProps);
child.extend = this.extend;
return child;
};
var inherits = function(parent, protoProps, staticProps) {
var child;
if (protoProps && protoProps.hasOwnProperty('constructor')) {
child = protoProps.constructor;
} else {
child = function() {
return parent.apply(this, arguments);
};
}
_.extend(child, parent);
ctor.prototype = parent.prototype;
child.prototype = new ctor();
if (protoProps) _.extend(child.prototype, protoProps);
if (staticProps) _.extend(child, staticProps);
child.prototype.constructor = child;
child.__super__ = parent.prototype;
return child;
};
mir bitte erklären, was Funktion innerhalb erben geschieht und was ist der Nutzen der extend
Funktion der Mitglieder (Funktionen und Eigenschaften) von der zweiten übergeht Methode Ansatz
Backbone hat Quelle mit Kommentaren: http://documentcloud.github.com/backbone/docs/backbone.html für die inherits Methode suchen. Sie haben eine schöne Beschreibung. – jForrest