Was ist der Unterschied zwischen initialize und constructor in einem Backbone-Modell?

Was ist der Unterschied zwischen initialize und constructor in einem Backbone-Modell?

Wenn ich ein Backbone-Modell (ParentModel) erweitere, verwende ich die Initialisierungsmethode, um Standardeigenschaften festzulegen. Aber wenn ich ein Modell basierend auf dem ParentModel erstelle, verwende ich den Konstruktor, um alle anfänglichen Funktionen auszuführen. Ich mache das, weil es funktioniert, aber jemand bei der Arbeit fragte mich, warum ich sowohl initialize als auch constructor verwende und ich hatte keine gute Antwort, außer es funktioniert. Ich könnte Zeit damit verbringen, den Quellcode zu lesen, um es herauszufinden, aber es schien viel einfacher, hier nachzufragen und die richtige Antwort zu erhalten.

<code>var ParentModel = Backbone.Model.extend({
  initialize : function() {
    // code here
  },
});


var Model = ParentModel.extend({
  constructor : function (options) {
    Backbone.Model.prototype.constructor.call(this, options);
    // code here
   },
</code>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage