⊗jsPmCxCM 440 of 505 menu

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

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

Првиот метод што ќе го разгледаме, се вика call. Ајде да ја погледнеме неговата работа на пример. Нека имаме input:

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

Ајде да ја добиеме референцата на овој input и да ја запишеме во променливата 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 на input-от } func.call(elem);

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

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

Дадени се три input-и:

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

Со помош на методот call и функцијата func испечатете го на екран value на секој од input-ите.

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