Junior
JavaScript-də apply metodu necə işləyir?
sobes.tech Süni İntellekt
AI-dan cavab
apply metodu funksiyalar üzərində çağırılır və bu funksiya ilə this dəyərini və arqumentləri massiv (və ya massivə bənzər obyekt) şəklində keçirməyə imkan verir.
Əsas aspektlər:
this-in təyin olunması:applymetodunun ilk arqumenti çağırılan funksiyadathisaçar sözünün dəyərini müəyyən edir. Əgərnullvə yaundefinedgöndərilsə, qeyri-strict rejimdəthisqlobal obyektə (məsələn, brauzerdəwindow, Node.js-dəglobal) istinad edəcək, strict rejimdə isəundefinedqalacaq.- Arqumentlərin ötürülməsi: İkinci arqument massiv (və ya massivə bənzər obyekt) olub, onun elementləri çağırılan funksiyanın arqumentləri olacaq, massivdəki sırasına uyğun.
Sintaksis:
function.apply(thisArg, argsArray)
thisArg: Funksiyanı çağırarkən istifadə olunacaqthisdəyəri.argsArray: Funksiya ilə çağırılacaq arqumentləri ehtiva edən massiv və ya massivə bənzər obyekt.
call ilə fərqləri:
applyarqumentləri massiv kimi qəbul edir.callarqumentləri ayrıca dəyərlər kimi qəbul edir,thisArg-dən sonra sıralanır.
İstifadə nümunəsi:
// Maksimum ədədi hesablamaq üçün funksiya
const numbers = [1, 5, 2, 8, 3];
const max = Math.max.apply(null, numbers);
console.log(max); // 8
// Bir obyektin metodunu başqa kontekstlə çağırmaq
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?
İstifadə sahələri:
- Arqumentlər massivini, onları ayrıca gözləyən funksiyaya ötürmək.
- Funksiya çağırışında
thiskontekstini dəyişmək. - Mürəkkəb arqumentlər gözləyən daxili metodlar ilə istifadə etmək (məsələn,
Math.max,Math.min).