Что такое функция .apply jQuery?

Ответы:

126

applyвызывает функцию с набором аргументов. Это не часть jQuery, это часть ядра Javascript. Однако об этом упоминается в документации jQuery:

http://docs.jquery.com/Types#Context.2C_Call_and_Apply

Синтаксис:

somefunction.apply(thisObj, [argsArray])

Вышеупомянутое вызывает функцию somefunction, устанавливает ее thisв thisObjпределах области действия и передает аргументы из argsArrayв качестве аргументов функции.

Янтарь
источник
2
Связана функция [ .call () ] ( mdn.beonex.com/en/Core_JavaScript_1.5_Reference/Global_Objects/… ), которая также принимает this, но за ней следует серия отдельно перечисленных аргументов вместо массива, содержащего аргументы .
Питер Айтай,
что будет ниже делать чем? $ .when.apply (null, объект) .done (обратный вызов);
Gohel Kiran
@ user1531437 Это вызовы $.when(object).done(callback);, но и в функции $.when, thisустанавливается в качестве первого параметра, то есть null. Возможно, следует использовать, $.when.call(null, object).done(callback);потому что второй параметр .applyдолжен быть массивом
Люк Мадханга 07
Отдаленно связана функция прокси jQuery , которая полезна для изменения значения, thisто есть переменной контекста, как это applyможет делать собственный Javascript
Red Pea
5

По сути, apply вызовет функцию с контекстом, установленным для объекта, к которому вы применяете функцию. Это означает, что внутри функции ссылка thisбудет относиться к этому объекту.

Исса Мари Ценг
источник
Для тех, кто работает с jQuery и приходит к этому ответу, вам необходимо использовать его $(this)для получения связанного объекта jQuery и доступа к методам jQuery.
Р. Шрерс
@ R.Schreurs также вам необходимо использовать объект jQuery.fn, как показано здесь: stackoverflow.com/a/27374435/674033
AVProgrammer