⊗jsPmCxCM 440 of 505 menu

Везивање контекста преко методе call у JavaScript-у

Дакле, разјаснили смо како заправо ради this. Хајде сада да погледамо методе које омогућавају да се наметне, у ком контексту се позива функција (односно да се насилно каже чему је једнак this).

Прва метода коју ћемо размотрити зове се call. Хајде да погледамо њен рад на примеру. Нека имамо унос:

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

Хајде да добијемо референцу на овај унос и уписемо је у променљиву elem:

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

Хајде сада да направимо функцију func, унутар које исписујемо this.value:

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

За сада наша функција не зна на шта се односи this. Ето, да смо је везали преко addEventListener, онда да. Али ми то нећемо учинити. Уместо тога ћемо једноставно позвати нашу функцију, рекавши јој да this мора бити једнак elem.

То се чини овако: func.call(elem). Овај код је еквивалентан простом позиву функције func овако: func(), само са ограничењима да је this једнако elem.

Дакле, синтакса методе call је: функција.call(објекат). Хајде да саберемо све заједно:

let elem = document.querySelector('#elem'); function func() { console.log(this.value); // исписаће value уноса } func.call(elem);

Дата је функција:

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

Дата су три уноса:

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

Помоћу методе call и функције func испишите на екран value сваког од уноса.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј