今日はバックボーンのソースコードを読んで、それがどのように機能するかを学びました。myModel がインスタンス化されたときに起動する独自の初期化メソッドを作成しようとしましたが、機能していないようです。(アラート「デフォルトのこんにちは」)
私は、myModel が作成されたときに、「this.initialize.apply」を myModel にコピーし、Model のプロトタイプから初期化メソッドを継承すると考えていました。myMethod に初期化メソッドがない場合はチェーンを検索しますが、myMethod にある場合は代わりにそれを使用します。私が(間違って)考えていることから、myModelは「myModel.initialize.appy(this、arguments)」のようにapplyを読み取りますが、代わりにModelsを呼び出しているようです。
どこが間違っているのか、何か考えはありますか?http://jsfiddle.net/LvjpK/
function Model () {
this.initialize.apply(this, arguments);
}
Model.prototype.initialize = function () {
alert("Default Hello");
};
myModel = {
initialize: function() {
alert("Hello from myModel");
}
};
var myModel = new Model();