这段代码是从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 ) 返回的应该是对象的,求问是怎么输出数组的????
卡这里好难受
数组也是一种对象,被被这个卡住了。
另外,JQUERY返回的对象本身就支持数组的。
init方法返回了this,这个this十九JQUERY对象的一个原型函数,此时的this就是JQUERY。