.toArray()与jQuery.makeArray()的区别

根据jQuery文档:

toArray()返回一个包含jQuery对象集合中的所有DOM元素的数组(此方法不接受任何参数)此方法将此组DOM元素的成员提取到JavaScript Array:

jQuery('.some-class').toArray() -> [ dom_el_1, dom_el_2, dom_el_3, ... ]

alert($('li').toArray());   //  .toArray() 返回jQuery集合中所有元素

makeArray(这是jQuery对象的“静态方法”)使用类似数组的对象(jQuery,arguments,nodeList,...),并从中构造一个正确的JavaScript数组,因此可以在结果中调用Array的方法:

// returns a nodeList (which is array like item) but not actual array
// you can't call reverse on int
var elems = document.getElementsByTagName("div"); 
var arr = jQuery.makeArray(elems);
arr.reverse(); // use an Array method on list of dom elements
$(arr).appendTo(document.body);

总而言之,toArrayjQuery元素设置为javascript ArraymakeArray将任何类似对象的数组转换为javascript Array

原文地址:https://www.cnblogs.com/feilu2016/p/7008397.html