Metoda call () funkcji JavaScript wywołuje funkcję z daną wartością i argumentami podanymi indywidualnie.
Składnia call()
metody to:
func.call(thisArg, arg1,… argN)
Tutaj func
jest funkcja.
call () Parametry
call()
Sposób odbywa się:
thisArg
- wartośćthis
podana na wezwanie dofunc
.arg1,… argN
(opcjonalnie) - argumenty funkcji.
Wartość zwracana z wywołania ()
- Zwraca wynik wywołania funkcji z określoną
this
wartością i argumentami.
Używając call()
, możemy używać funkcji należących do jednego obiektu, które mają być przypisane i wywołane dla innego obiektu.
Przykład 1: Korzystanie z funkcji 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.
Wynik
Nazywam się Judah undefined. Mam 26 lat.
Przykład 2: Używanie call () do tworzenia łańcuchów konstruktorów
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);
Wynik
Harry 5 Hiss Arnold 8 Neigh
Uwaga: różnica między call()
i apply()
polega na tym, że call()
akceptuje listę argumentów, a apply()
akceptuje pojedynczą tablicę argumentów.
Zalecana literatura: Zastosuj funkcję JavaScript ()