⊗jsPmCxCM 440 of 505 menu

Konteksti sidumine meetodi call kaudu JavaScriptis

Nii, me saime aru, kuidas tegelikult töötab this. Vaatame nüüd meetodeid, mis võimaldavad sundivalt määrata, mis kontekstis funktsiooni kutsutakse (ehk sundivalt öelda, millega this võrdub).

Esimene meetod, mida me vaatame, on call. Vaatame selle toimimist läbi näite. Olgu meil väli:

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

Võtame selle välja viite ja paneme selle muutujasse elem:

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

Teeme nüüd funktsiooni func, mille sees väljastame this.value:

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

Praegu meie funktsioon ei tea, millele viitab this. Kui me seoksime selle läbi addEventListener, siis jah. Aga me ei tee seda. Selle asemel me lihtsalt kutsume oma funktsiooni, öeldes talle, et this peab võrduma elem-iga.

See tehakse nii: func.call(elem). See kood on samaväärne lihtsa funktsiooni väljakutsega func nii: func(), ainult tingimusel, et this võrdub elem.

Niisiis, meetodi call süntaks on: funktsioon.call(objekt). Paneme kõik kokku:

let elem = document.querySelector('#elem'); function func() { console.log(this.value); // väljastab välja value } func.call(elem);

Antud funktsioon:

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

Antud kolm välja:

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

Kasutades meetodit call ja funktsiooni func kuvake ekraanile iga välja value.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu