日期:2014-05-16  浏览次数:20392 次

求教一个JQuery源码的问题,请指点下
这段代码是从JQuery 1.4.2源码里面拿出来的代码
JScript code

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中输出的是一个空数组,[]
我看调试的时候执行步骤都是一样的,不知道是怎么回事,请有心人指教,卡着难受啊!!!


------解决方案--------------------
光从代码角度上看,是{}空对象了。。至于jquery中为啥是[]我想肯定是有些参数或者值不一样吧,,没看过1.4.2的JQUERY所以是猜的
------解决方案--------------------
init 方法里面作了很多处理的

最后一句 return c.makeArray(a, this)