⊗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ščinaShqipСрпскиSrpskiSvenskaKiswahiliไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан