次のように書き換えてみましょう。 // function jQuery (selector, context) { return new init(selector, context, rootjQuery); } jQuery.prototype = jQuery.fn; // function init (selector, context, rootjQuery) { /* ...... this.length = 0; ...... */ } init.prototype = jQuery.fn; jQuery.fn.init = init; 本質的にはこういうことです(私が書くなら、こんな感じにすると思います)。したがって、new jQuery と new init は、どちらも jQuery.fn をプロトタイプとする新規オブジェクトを生成します。 --- さて、No.1 には