Metóda call funkcie JavaScript () volá funkciu s danou touto hodnotou a argumentmi poskytnutými jednotlivo.
Syntax call()
metódy je:
func.call(thisArg, arg1,… argN)
Tu func
je funkcia.
call () parametre
call()
Metóda berie v:
thisArg
- Hodnotathis
poskytovaná pre hovor nafunc
.arg1,… argN
(voliteľné) - Argumenty pre funkciu.
Vrátiť hodnotu z hovoru ()
- Vráti výsledok volania funkcie so zadanou
this
hodnotou a argumentmi.
Použitím call()
môžeme použiť funkcie patriace k jednému objektu, ktoré majú byť priradené a vyvolané pre iný objekt.
Príklad 1: Používanie hovoru ()
function greet() ( const string = `My name is $(this.firstName) $(this.secondName). I am $(this.age) years old.`; console.log(string); ) const human = ( firstName: "Judah", lastName: "Parker", age: 26, ); greet.call(human); // My name is Judah undefined. I am 26 years old.
Výkon
Moje meno je Juda nedefinované. Mám 26 rokov.
Príklad 2: Použitie call () na reťazové konštruktory
function Animal(name, age) ( this.name = name; this.age = age; ) function Horse(name, age) ( Animal.call(this, name, age); this.sound = "Neigh"; ) function Snake(name, age) ( Animal.call(this, name, age); this.sound = "Hiss"; ) const snake1 = new Snake("Harry", 5); console.log(snake1.name, snake1.age, snake1.sound); const horse1 = new Horse("Arnold", 8); console.log(horse1.name, horse1.age, horse1.sound);
Výkon
Harry 5 Hiss Arnold 8 Neigh
Poznámka: Rozdiel medzi call()
a apply()
je v tom, že call()
prijíma zoznam argumentov, zatiaľ čo apply()
prijíma jednu skupinu argumentov.
Odporúčané čítanie: Použiť funkciu JavaScript ()