Apa itu fungsi jQuery .apply?

Jawaban:

126

applymemanggil fungsi dengan sekumpulan argumen. Ini bukan bagian dari jQuery, itu bagian dari inti Javascript. Namun, ada yang menyebutkannya di dokumen jQuery:

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

Sintaksis:

somefunction.apply(thisObj, [argsArray])

Di atas memanggil fungsi somefunction, menyetel thiske thisObjdalam cakupan fungsi, dan meneruskan argumen dari argsArraysebagai argumen ke fungsi.

Amber
sumber
2
Terkait adalah [ .call () function ] ( mdn.beonex.com/en/Core_JavaScript_1.5_Reference/Global_Objects/… ) yang juga mengambil this, tetapi diikuti oleh serangkaian argumen yang terdaftar secara individual alih-alih array yang berisi argumen .
Peter Ajtai
apa yang akan dilakukan di bawah ini selain? $ .when.apply (null, object) .done (callback);
Gohel Kiran
@ user1531437 Panggilan itu $.when(object).done(callback);, tetapi dalam fungsinya $.when, thisdisetel ke parameter pertama, yaitu null. Bisa dibilang, seseorang harus menggunakan $.when.call(null, object).done(callback);karena parameter kedua dari .applyseharusnya menjadi sebuah array
Luke Madhanga
Yang jauh terkait adalah fungsi proxy jQuery , yang berguna untuk mengubah nilai thisyaitu variabel konteks, cara asli Javascript applydapat melakukannya
The Red Pea
5

Pada dasarnya, apply akan memanggil fungsi dengan konteks yang disetel ke objek tempat Anda menerapkan fungsi tersebut. Artinya di dalam fungsi, referensi thisakan merujuk ke objek itu.

issa marie tseng
sumber
Bagi siapa pun yang bekerja dengan jQuery dan sampai pada jawaban ini, Anda harus menggunakan $(this)untuk mendapatkan objek jQuery terkait dan memiliki akses ke metode jQuery.
R. Schreurs
@ R. Schreurs juga Anda perlu menggunakan objek jQuery.fn seperti yang terlihat di sini: stackoverflow.com/a/27374435/674033
AVProgrammer