Подтвердить что ты не робот

Где jQuery.sort() Документация?

Я рассматривал множество примеров, когда люди используют функцию .sort() в jQuery.

Итак, например:

$('#myId').sort(..);

Я не могу найти документацию для sort() в jQuery api, может ли кто-нибудь указать мне на нее?

4b9b3361

Ответ 1

Поскольку он не является частью jQuery (официально), но является проксированным Array.sort.

Как указывает Дерек, jQuery(...) не возвращает массив. Скорее, jQuery добавляет прокси, чтобы объект jQuery "действовал как массив":

// For internal use only.
// Behaves like an Array method, not like a jQuery method.
push: push,
sort: [].sort,    // <-- here
splice: [].splice

Этот прокси работает, потому что this в функции определяется объектом, на который была вызвана функция. И, кроме того, Array.sortArray.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)

YMMV в соответствии с примечаниями "Только для внутреннего использования".