$([])在jQuery中意味着什么?

时间:2010-08-27 19:09:31

标签: javascript jquery

var username = $("#username"),
                password = $("#password"),
                allFields = $([]).add(username).add(password);

什么是全场?什么是$([])?

作为Javascript / jQuery的新手,我以前从未见过这个$([])表示法,我对它的相关方法很感兴趣。

鉴于它的“$([])”,搜索起来很棘手。谷歌在Javascript中搜索数组(猜测那个东西是某种数组)产生了我熟悉的典型数组。

那么$([])是什么?谁能指点我一些文件?我有兴趣学习如何使用这个奇怪的东西。

4 个答案:

答案 0 :(得分:12)

jQuery函数接受DOM节点数组。

例如,

$([document.body])将通过包装在该数组中传递的所有DOM元素来返回jQuery对象。但是,因为在你的例子中没有开始的DOM对象,它只是一个空数组,所以甚至不需要传递一个空数组。

调用不带任何参数的jQuery函数会返回一个空集。取自jQuery docs,

  

返回空集

     

从jQuery 1.4开始,调用不带参数的jQuery()方法会返回一个空的jQuery集。在以前的jQuery版本中,这将返回一个包含文档节点的集合。

所以,如果您改为调用

,那么您的示例将会起作用
$().add(username).add(password);

正如其他答案所提到的那样,文档说,在v 1.4之前需要传递一个空数组。

答案 1 :(得分:6)

[]这是一个空数组。使用$()用jQuery的函数对它进行过度填充。

在javascript中,您可以通过以下方式创建数组:

var foo = [];

答案 2 :(得分:5)

它是在创建jQuery对象时传递的空数组。大概要初始化一些东西。

不应该是必要的,至少不是最新版本的jQuery。

以下是没有数组的示例:http://jsfiddle.net/MAzLN/

正常工作,因为alert()在对象中显示了一个元素。

jQuery在创建对象时将length属性初始化为0,所以我不确定目的是什么,除非过去需要它。

答案 3 :(得分:3)

我相信它会创建一个空的jQuery集合对象。