jQueryの仕組みについて質問です
お世話になります。現在jQueryのコードを読んでいるのですが、どうしてもわからないところがあります。
jQuery1.11.1の2774行目、jQuery.merge(...)と自分自身を呼び出していますが、これはjQuery中でどのような処理をして実現しているのでしょうか?jQuery.merge = function(){...};としているわけでもないのに呼び出せているのが理解できません。
mergeメソッド自体は、450行目、jQuery.extend内で定義されているようです。
以下簡易化したjQueryです。
var window = this; // ブラウザ以外で実行する場合のみ必要
(function(){
jQuery = window.jQuery = function( selector, context ) {
return new jQuery.fn.init( selector, context );
};
jQuery.fn = jQuery.prototype = {
hello: function(){
console.log("hello from fn!"); // ここをjQuery.logと書けるようにしたい
}
};
jQuery.extend = jQuery.fn.extend = function() {};
jQuery.extend({
log: function(msg){
console.log(msg);
}
});
init = jQuery.fn.init = function( selector, context ) {
console.log("Hello");
};
init.prototype = jQuery.fn; // ここをjQuery.logと書けるようにしたい
}
)();
jQuery().hello();