Metoden JavaScript-funktion call () anropar en funktion med ett givet detta värde och argument som tillhandahålls individuellt.
Syntaxen för call()
metoden är:
func.call(thisArg, arg1,… argN)
Här func
är en funktion.
samtal () Parametrar
Den call()
metod tar in:
thisArg
- Värdet somthis
tillhandahålls för samtalet tillfunc
.arg1,… argN
(valfritt) - Argument för funktionen.
Returvärde från samtal ()
- Returnerar resultatet av att anropa funktionen med det angivna
this
värdet och argumenten.
Genom att använda call()
kan vi använda funktionerna som tillhör ett objekt som ska tilldelas och kräva ett annat objekt.
Exempel 1: Använda samtal ()
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.
Produktion
Jag heter Juda odefinierad. Jag är 26 år gammal.
Exempel 2: Använda call () till kedjekonstruktörer
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);
Produktion
Harry 5 Hiss Arnold 8 Neighbor
Obs: Skillnaden mellan call()
och apply()
är att call()
accepterar en argumentlista, samtidigt som den apply()
accepterar en enda grupp av argument.
Rekommenderad läsning: JavaScript-funktionen gäller ()