首页 新闻 会员 周边

求教一个JQuery源码的问题,return this

0
悬赏园豆:20 [已解决问题] 解决于 2012-07-06 10:57

这段代码是从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));  //  单独把代码拿出来这里输出的是 Object {}

但是直接像下面这样:

<script type="text/javascript" src="javascript/jquery-1.4.2.js"></script>
console.log(jQuery(null)); // 输出的是[]

我看调试的时候执行步骤都是一样的,不知道是怎么返回的是空数组的,代码是

return new jQuery.fn.init( selector, context )  返回的应该是对象的,求问是怎么输出数组的????

卡这里好难受

 

VVG的主页 VVG | 初学一级 | 园豆:154
提问于:2012-06-29 16:33
< >
分享
最佳答案
0

数组也是一种对象,被被这个卡住了。

 

另外,JQUERY返回的对象本身就支持数组的。

 

init方法返回了this,这个this十九JQUERY对象的一个原型函数,此时的this就是JQUERY。

收获园豆:10
无之无 | 大侠五级 |园豆:5095 | 2012-06-29 16:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册