Junior
Kā darbojas apply metode JavaScript?
sobes.tech AI
Atbilde no AI
apply metode tiek funkcijas, kas ļauj izsaukt šo funkciju ar noteiktu this vērtību un argumentu masīvu (vai līdzīgu objektu).
Galvenie aspekti:
thisiestatīšana:applymetodes pirmais arguments nosakathisvērtību izsaukšanas laikā. Ja tiek nodotsnullvaiundefined, tad neitrālā režīmāthisatsauksies uz globālo objektu (piemēram, pārlūkāwindowvai Node.jsglobal), bet stingrā režīmā tas paliksundefined.- Argumentu nodošana: otrais arguments ir masīvs (vai masīvam līdzīgs objekts), kura elementi kļūs par izsaucamās funkcijas argumentiem, ievērojot to secību.
Sintakse:
function.apply(thisArg, argsArray)
thisArg: vērtība, kas tiks izmantota kāthisfunkcijas izsaukšanas laikā.argsArray: masīvs vai masīvam līdzīgs objekts, kas satur argumentus, kuri tiks nodoti funkcijai.
Atšķirības no call:
applypieņem argumentus kā masīvu.callpieņem argumentus kā atsevišķas vērtības, kas ir norādītas pēcthisArg.
Piemērs:
// Funkcija, kas atrod maksimālo skaitli masīvā
const numbers = [1, 5, 2, 8, 3];
const max = Math.max.apply(null, numbers);
console.log(max); // 8
// Objekta metodes izsaukšana ar citu kontekstu
const person1 = { name: 'Alice' };
const person2 = { name: 'Bob' };
function greet(greeting, punctuation) {
console.log(`${greeting}, ${this.name}${punctuation}`);
}
greet.apply(person1, ['Hello', '!']); // Hello, Alice!
'greet.apply(person2, ['Hi', '?']); // Hi, Bob?
Lietojums:
- Masīva argumentu nodošana funkcijai, kas tos sagaida kā atsevišķus parametrus.
thiskonteksta maiņa funkcijas izsaukšanas laikā.- Izmantošana ar iebūvētiem metodēm, kas sagaida daudz argumentu (piemēram,
Math.max,Math.min).