jQueryのvar jQueryの仕組みについて
jQuery-1.6.2のソースコードを見ているのですが質問させてください。
25行目の
var jQuery = function( selector, context ) {
return new jQuery.fn.init( selector, context, rootjQuery );
},
そして100行めの
jQuery.fn = jQuery.prototype = {
constructor: jQuery,
init: function( selector, context, rootjQuery ) {
の意味が分かりません。
PHP等のclassになれているとJSのクラスは戸惑うことが多いのですが、この例は最たるもので、自分の中のJSでのclassは
(1)スーパークラスのプロパティをcall()、apply()で継承
(2)スーパークラスのメソッドをprototypeオブジェクトで継承
(3)インスタンスのデータ型判定に必要なプロパティをconstructorで調整
だったのですが、スーパークラスがどの行のどれなのかも分かりません。
型やメソッド名からこれらがclassを意味しているのは分かるのですが、いったいどの部分がclass定義、継承を行っているのか教えていただけませんでしょうか?
なぜこれらがclassになっているのかが理解できません。
分るのは、jQuery.prototype.constructor = jQueryで、それをjQuery.fnに代入((3))している事です。
329行目の、jQuery.fn.init.prototype = jQuery.fn;の右辺がnew {$class}の形であれば(2)のプロトタイプチェーンの形だと分るのですが。
(1)は、init内でメンバ変数を定義したりしているので、classなのかな、という程度しか分っておりません。
jQuery.fnがコンストラクタで、jQueryがインスタンスで、var jQueryは親クラスをinitしたもの?・・・と混乱しております。
質問内容も文章が混乱していて申し訳ないです。
お礼
ありがとうございました。
補足
回答ありがとうございます。 argを返すのですか? thisなら、まだなんとなくわかれるような気がしますが・・・ どうなんでしょうか?