for*_*yez 25 javascript jquery
我一直在看很多人.sort()在jQuery中使用这个函数的例子.
例如:
$('#myId').sort(..);
Run Code Online (Sandbox Code Playgroud)
我sort()在jQuery API中找不到任何文档,有人能告诉我它的用法吗?
小智 22
因为它不是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
Run Code Online (Sandbox Code Playgroud)
此代理有效,因为this函数中的函数由调用函数的对象确定.此外,Array.sort(和Array.splice)可以处理任何this"像数组一样"(有一个length和大概属性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)
Run Code Online (Sandbox Code Playgroud)
YMMV遵循"仅供内部使用"的说明.
| 归档时间: |
|
| 查看次数: |
7265 次 |
| 最近记录: |