私が最初に独自のコードを書き始めたとき、jQuery の「強化された」init コンストラクターを後で理解するまで理解できなかったので、オブジェクトを構築する別の方法に固執しました。古いやり方を維持するべきか、それとも独自の「強化された」初期化コンストラクターを使い始めるべきか疑問に思っていました。
私のコンストラクタ:
var $ = function(selector,context,createObj) {
if(createObj) {
// actually initiating object
} else {
return new $(selector,context,true);
}
};
jQuery:
jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context, rootjQuery );
};
実際の初期:
init: function( selector, context, rootjQuery ) {
// some code
}
プロトタイプの変更 (jQuery.prototype.init.prototype=jQuery.prototype):
jQuery.fn.init.prototype = jQuery.fn;