JavaScript Function call () -menetelmä kutsuu funktion, jolla on annettu tämä arvo ja argumentit tarjotaan erikseen.
Menetelmän syntaksi call()
on:
func.call(thisArg, arg1,… argN)
Tässä func
on funktio.
call () -parametrit
call()
Menetelmä vie:
thisArg
- Soitetunthis
puhelun arvofunc
.arg1,… argN
(valinnainen) - Funktion argumentit.
Palauta arvo puhelusta ()
- Palauttaa funktion kutsumisen tuloksen määritetyllä
this
arvolla ja argumenteilla.
Käyttämällä call()
voimme käyttää yhdelle objektille kuuluvia funktioita, jotka osoitetaan ja kutsutaan toiselle objektille.
Esimerkki 1: Puhelun () käyttäminen
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.
Tuotos
Nimeni on Juuda määrittelemätön. Olen 26 vuotta vanha.
Esimerkki 2: Call (): n käyttö rakentajien ketjutukseen
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);
Tuotos
Harry 5 Hiss Arnold 8 Naapuri
Huomaa: Ero argumenttiluettelon hyväksymisessä call()
ja siinä apply()
on vain yksi argumenttiryhmä.call()
apply()
Suositeltava lukeminen: JavaScriptiä käytetään ()