⊗jsPmCxCM 440 of 505 menu

Context binding via de call methode in JavaScript

Dus, we hebben uitgezocht hoe this echt werkt. Laten we nu de methodes bekijken die het mogelijk maken om geforceerd aan te geven in welke context een functie wordt aangeroepen (dat wil zeggen geforceerd zeggen waar this gelijk aan is).

De eerste methode die we zullen behandelen, heet call. Laten we de werking ervan bekijken aan de hand van een voorbeeld. Stel we hebben een input:

<input id="elem" value="text">

Laten we een referentie naar deze input ophalen en deze in een variabele elem opslaan:

let elem = document.querySelector('#elem');

Laten we nu een functie func maken, waarin we this.value uitloggen:

function func() { console.log(this.value); }

Onze functie weet nog niet waarnaar this verwijst. Als we hem zouden binden via addEventListener, dan wel. Maar dat gaan we niet doen. In plaats daarvan roepen we onze functie gewoon aan, en zeggen we haar dat this gelijk moet zijn aan elem.

Dit gaat als volgt: func.call(elem). Deze code is equivalent aan het simpel aanroepen van de functie func als volgt: func(), alleen met de voorwaarde dat this gelijk is aan elem.

Dus, de syntaxis van de call methode is als volgt: functie.call(object). Laten we alles samenvoegen:

let elem = document.querySelector('#elem'); function func() { console.log(this.value); // geeft de value van de input weer } func.call(elem);

Gegeven is de functie:

function func() { console.log(this.value); }

Gegeven zijn drie inputs:

<input id="elem1" value="text1"> <input id="elem2" value="text2"> <input id="elem3" value="text3">

Gebruik de methode call en de functie func om de value van elk van de inputs op het scherm weer te geven.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren