为什么jQuery接受数组作为参数?

Yan*_*hon 0 javascript jquery

这段代码执行得很好:

$([ $('<div>'), $('<div>') ]);
Run Code Online (Sandbox Code Playgroud)

并返回延伸与jQuery特性的阵列(即each,find和所有其他$.fn.*的功能).

但是,它既不是DOMElement也不是函数,因此该对象不能用于DOM操作.

为什么jQuery接受数组作为参数?


编辑(因为似乎很多人不明白为什么我要问这个)

var els = $([ $('<div>'), $('<div>') ]);

$('body').append( els );
// ERR : Uncaught TypeError: Cannot read property 'ownerDocument' of undefined
Run Code Online (Sandbox Code Playgroud)

我问这个问题,因为这个功能似乎与jQuery的其他API不一致.


更新

这个问题似乎已经解决了(谢谢@Stryner发现这一点),并且由于显而易见的原因(性能和WTF倾向)决定不实现此功能.

Que*_*tin 6

文档显示它接受一系列元素.

var els = $([
   document.createElement("div"),
   document.createElement("div") 
]);

$('body').append( els );
Run Code Online (Sandbox Code Playgroud)

… 工作良好.

您的特定示例失败,因为您没有传入元素数组.似乎jQuery只是(可以说)不充分的错误检查.