JavaScript call () Method

samenvatting: in deze tutorial leert u over de JavaScript call() methode en hoe u deze effectiever kunt gebruiken.

Inleiding tot de JavaScript call() methode

in JavaScript is een functie een instantie van het Function type., Bijvoorbeeld:

Code language: Python (python)

De Function type heeft een methode met de naam call() met de volgende syntaxis:

Code language: Python (python)

De call() methode-aanroepen van een functie functionName met een bepaalde this waarde en argumenten.

het eerste argument van de call() methode thisArg is de this waarde. Hiermee kunt u de waarde this instellen op een bepaald object.,

de overige argumenten van decall() methodearg1,arg2,… zijn de argumenten van de functie.

wanneer u een functie aanroept, roept de JavaScript-engine decall() methode van dat functieobject aan.,

Stel dat u de show() functie als volgt:

Code language: Python (python)

En een beroep op de show() functie:

Code language: Python (python)

Het is gelijk aan het roepen van de call() methode op de show functie object:

Code language: Python (python)

standaard de this waarde binnen de functie is ingesteld op de globale object ofwel, window web browsers en global op het knooppunt.,js:

Code language: Python (python)

merk op dat in de strikte modus, de this binnen de functie is ingesteld op undefined in plaats van het globale object.

zie het volgende voorbeeld:

Code language: Python (python)

Output:

Code language: Python (python)

in dit voorbeeld, in plaats van de add() functie direct aan te roepen, gebruiken we de call() methode om roep de functie add() aan. De waarde this is ingesteld op het globale object.,

zie de volgende code:

binnen de say()functie, verwijzen we naar de greetingvia de this waarde.,”87a3e92b46″>

methode als volgt:

Code language: Python (python)

Het zal u tonen het volgende resultaat:

Code language: Python (python)

Echter, wanneer u beroep doen op de call() methode van say() functie en doorgeven van de messenger object als de this, waarde:

Code language: Python (python)

De uitvoer zal worden:

Code language: Python (python)

In dit geval de this waarde binnen de say() functie verwijst naar de messenger object, niet de globale object.,

met behulp van de JavaScript call() methode om constructors voor een object te ketenen

de call() methode kan worden gebruikt voor het ketenen van constructors voor een object. Neem het volgende voorbeeld:

In dit voorbeeld:

  • initialiseer eerst hetBox object met twee eigenschappen:height enwidth.,
  • ten tweede, roep de call() methode van de Box object binnen de Widget object, stel de this waarde in op de Widget object.

met behulp van de JavaScript call() methode voor function boring

definieert het volgende twee objecten: car en aircraft:

het aircraft object heeft de fly() methode.,

De volgende code maakt gebruik van de call() methode aan te roepen van de start() methode van car object op de aircraft object:

Code language: Python (python)

Hier is de output:

Code language: Python (python)

Technisch aircraft object heeft geleend van de start() methode van car object aircraft.

wanneer een object een methode van een ander object gebruikt, wordt de functie lenen genoemd.,

de typische toepassingen van functielening zijn het gebruik van de ingebouwde methoden van het Array-type.

bijvoorbeeld, hetarguments object binnen een functie is een array-achtig object, geen array-object. Om de slice() methode van het Array-object te gebruiken, moet u de call() methode:

Output:

Code language: Python (python)

in dit voorbeeld hebben we een willekeurig aantal getallen aan de functie doorgegeven. De functie retourneert een array van oneven getallen.,

De volgende instructie wordt het call() functie voor het instellen van de this in de slice() methode arguments object en uitvoeren van het slice() methode:

Code language: Python (python)

In deze tutorial, heb je geleerd over de JavaScript – call() methode en hoe te gebruiken het meer effectief.

  • Was deze tutorial nuttig ?
  • YesNo

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *