我一直在看很多人们.sort()
在 jQuery 中使用该函数的例子。
例如:
$('#myId').sort(..);
我在 jQuery API 中找不到任何文档sort()
,谁能告诉我它的用法?
我一直在看很多人们.sort()
在 jQuery 中使用该函数的例子。
例如:
$('#myId').sort(..);
我在 jQuery API 中找不到任何文档sort()
,谁能告诉我它的用法?
因为它不是 jQuery(官方)的一部分,而是一个代理Array.sort。
正如 Derek 指出的那样,jQuery(...)
不返回数组。相反,jQuery添加了一个代理来使 jQuery 对象“像数组一样”:
// For internal use only.
// Behaves like an Array's method, not like a jQuery method.
push: push,
sort: [].sort, // <-- here
splice: [].splice
该代理之所以有效,是因为this
函数中的 是由调用该函数的对象确定的。而且,Array.sort
(and Array.splice
) 可以处理任何this
“类似数组”的内容(具有 alength
和大概的属性0..length-1
)。这是使用 [ab] 的自定义对象的示例Array.sort
:
var a = {0: "z", 1: "a", length: 2, sort: [].sort}
a[0] // -> "z"
a.sort() // in-place modification, this === a
a[0] // -> "a"
a instanceof Array // -> false (never was, never will be Array)
YMMV 遵循“仅供内部使用”说明。