Javascript $(“selector”和$(“selector”)之间有什么区别。toArray()

Javascript $(“selector”和$(“selector”)之间有什么区别。toArray(),javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在阅读toArray()上的文档,并在控制台中进行测试。我找不到在选择器上调用toArray()与调用选择器本身之间的区别 两种方法都得到了完全相同的结果,这是一个匹配选择器的DOM元素数组。我还做了另一个测试 $("element").toArray()[0] === $("element")[0] 根据学校的说法 方法返回jQuery匹配的元素 选择器作为数组 然而,看起来只是查询元素本身做了完全相同的事情。而且写起来也容易多了 有人知道这两者的区别吗?如果没有,我就不明白这个函数的用

我正在阅读
toArray()
上的文档,并在控制台中进行测试。我找不到在选择器上调用
toArray()
与调用选择器本身之间的区别

两种方法都得到了完全相同的结果,这是一个匹配选择器的DOM元素数组。我还做了另一个测试

$("element").toArray()[0] === $("element")[0]
根据学校的说法

方法返回jQuery匹配的元素 选择器作为数组

然而,看起来只是查询元素本身做了完全相同的事情。而且写起来也容易多了

有人知道这两者的区别吗?如果没有,我就不明白这个函数的用途。

从以下几个方面来看这个例子:

如果您执行类似于
$('img').reverse()的操作,您将得到一个错误

如果您执行类似于
$('img').toArray().reverse()
的操作,您将得到反向的DOM节点数组


这是因为如果您不先执行
toArray()
,您将无法获得所有的酷功能。

toArray
为您提供了一个纯js数组,因此您可以在其上调用javascript
array.prototype
方法。如果您访问数组中的单个元素,则没有区别(如您自己的测试所示)。重要的是你如何处理数组本身(你是否对结果调用更多jQuery?)<代码>$(“div”).toArray().hide()
此外,您可以使用console.log检查这两个对象以查看差异,因为任何JavaScript数组上的记录
typeof
都将返回
object
。还有其他类似数组的对象,比如任何函数体中给定的
参数
对象。