Il metodo call () della funzione JavaScript chiama una funzione con un dato valore e argomenti forniti individualmente.
La sintassi del call()
metodo è:
func.call(thisArg, arg1,… argN)
Ecco func
una funzione.
call () Parametri
Il call()
metodo comprende:
thisArg
- Il valore dithis
fornito per la chiamata afunc
.arg1,… argN
(opzionale) - Argomenti per la funzione.
Valore restituito da call ()
- Restituisce il risultato della chiamata alla funzione con il
this
valore e gli argomenti specificati .
Utilizzando call()
, possiamo utilizzare le funzioni appartenenti a un oggetto da assegnare e richiamare per un oggetto diverso.
Esempio 1: utilizzo di call ()
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.
Produzione
Il mio nome è Judah undefined. Ho 26 anni.
Esempio 2: utilizzo di call () per concatenare i costruttori
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);
Produzione
Harry 5 Hiss Arnold 8 Neigh
Nota: la differenza tra call()
e apply()
è che call()
accetta un elenco di argomenti, mentre apply()
accetta un singolo array di argomenti.
Letture consigliate: funzione JavaScript apply ()