这段代码是从JQuery 1.4.2源码里面拿出来的代码var jQuery = function( selector, context ) {
        return new jQuery.fn.init( selector, context );
    };
    jQuery.fn = jQuery.prototype = {
        init: function( selector, context ) {
            var match, elem, ret, doc;            // Handle $(""), $(null), or $(undefined)
            if ( !selector ) {
                return this;
            }
        }
    };
console.log(jQuery(null));把代码单独拿出来输出的是一个空对象,{}
但是直接在JQuery中输出的是一个空数组,[]
我看调试的时候执行步骤都是一样的,不知道是怎么回事,请有心人指教,卡着难受啊!!!

解决方案 »

  1.   

    光从代码角度上看,是{}空对象了。。至于jquery中为啥是[]我想肯定是有些参数或者值不一样吧,,没看过1.4.2的JQUERY所以是猜的
      

  2.   


    我是复制下来的,而且Firebug 调试一步一步走的流程都一样的
      

  3.   

    init 方法里面作了很多处理的最后一句 return c.makeArray(a, this)
      

  4.   

    我调试的时候没有执行到这一步makeArray