Методът за извикване на функция JavaScript () извиква функция с дадена тази стойност и аргументи, предоставени поотделно.
Синтаксисът на call()
метода е:
func.call(thisArg, arg1,… argN)
Тук func
е функция.
call () Параметри
В call()
метода се в:
thisArg
- Стойността,this
предоставена за обаждането доfunc
.arg1,… argN
(по избор) - Аргументи за функцията.
Върната стойност от обаждане ()
- Връща резултата от извикването на функцията с посочената
this
стойност и аргументи.
Чрез използване call()
можем да използваме функциите, принадлежащи на един обект, които да бъдат присвоени и извикани за различен обект.
Пример 1: Използване на 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.
Изход
Казвам се Джуда неопределено. Аз съм на 26 години.
Пример 2: Използване на call () за конструктори на вериги
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);
Изход
Хари 5 Хис Арнолд 8 Близо
Забележка: Разликата между call()
и apply()
е, че call()
приема списък с аргументи, докато apply()
приема един масив от аргументи.
Препоръчително четене: Прилагане на функцията JavaScript ()