Junior
JavaScriptda apply metodasi qanday ishlaydi?
sobes.tech AI
AIdan javob
apply usuli funksiyalarda chaqiriladi va bu funksiyani belgilangan this qiymati va massiv (yoki massivga o'xshash ob'ekt) shaklida o'tkazilgan argumentlar bilan chaqirish imkonini beradi.
Asosiy jihatlar:
thisni sozlash:applymetodining birinchi argumenti chaqirilayotgan funksiyadathiskalit so'zining qiymatini belgilaydi. Agarnullyokiundefinedyuborilsa, no-strict rejimdathisglobal ob'ektga (masalan, brauzerdawindow, Node.jsdaglobal) murojaat qiladi, strict rejimda esaundefinedqoladi.- Argumentlarni o'tkazish: Ikkinchi argument massiv (yoki massivga o'xshash ob'ekt) bo'lib, uning elementlari chaqirilayotgan funksiyaning argumentlari bo'ladi, massivdagi tartibda.
Sintaksis:
function.apply(thisArg, argsArray)
thisArg: Funksiyani chaqirishda ishlatiladiganthisqiymati.argsArray: Argumentlarni o'z ichiga olgan massiv yoki massivga o'xshash ob'ekt.
call bilan farqi:
applyargumentlarni massiv sifatida qabul qiladi.callargumentlarni alohida qiymatlar sifatida,thisArgdan keyin ro'yxat shaklida qabul qiladi.
Misol:
// Maksimal raqami hisoblash uchun funksiya
const numbers = [1, 5, 2, 8, 3];
const max = Math.max.apply(null, numbers);
console.log(max); // 8
// Bir ob'ekt metodini boshqa kontekst bilan chaqirish
const person1 = { name: 'Alice' };
const person2 = { name: 'Bob' };
function greet(greeting, punctuation) {
console.log(`${greeting}, ${this.name}${punctuation}`);
}
greet.apply(person1, ['Hello', '!']); // Hello, Alice!
gree.apply(person2, ['Hi', '?']); // Hi, Bob?
Qo'llanilishi:
- Argumentlar massivini, ularni alohida kutadigan funksiyaga uzatish.
- Funksiya chaqirilganda
thiskontekstini o'zgartirish. - Ichki metodlar bilan ishlash, ular ko'p argumentlarni kutadi (masalan,
Math.max,Math.min).