jQuery 对象

每次调用 jQuery 时,通过使用 $()jQuery(),在内部创建 newnew 实例。这是显示新实例的源代码

// Define a local copy of jQuery
jQuery = function( selector, context ) {

    // The jQuery object is actually just the init constructor 'enhanced'
    // Need init if jQuery is called (just allow error to be thrown if not included)
    return new jQuery.fn.init( selector, context );
}

在内部,jQuery 将其原型称为 .fn,这里使用的内部实例化 jQuery 对象的样式允许在没有调用者明确使用 new 的情况下暴露该原型。

除了设置实例(这是 jQuery API,如 .eachchildrenfilter 等的公开方式)之外,内部 jQuery 还将创建一个类似于数组的结构来匹配选择器的结果(前提是除了什么都没有,undefinednull 或类似的东西作为参数传递)。在单个项目的情况下,此类阵列结构将仅保留该项目。

一个简单的演示是找到一个带有 id 的元素,然后访问 jQuery 对象以返回底层 DOM 元素(当多个元素匹配或存在时,这也将起作用)。

var $div = $("#myDiv");//populate the jQuery object with the result of the id selector
var div = $div[0];//access array-like structure of jQuery object to get the DOM Element