⊗jsPmCxCM 440 of 505 menu

JavaScript-də call metodu ilə kontekstin bağlanması

Beləliklə, biz this-in əslində necə işlədiyini araşdırdıq. Gəlin indi bir funksiyanın hansı kontekstdə çağırıldığını məcburi şəkildə təyin etməyə imkan verən metodlara nəzər salaq (yəni məcburi olaraq this-in nəyə bərabər olduğunu deməyə imkan verən).

Araşdıracağımız ilk metod call adlanır. Gəlin onun işini bir nümunə üzərində görək. Tutaq ki, bizim bir inputumuz var:

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

Gəlin bu inputa istinad əldə edək və onu elem dəyişəninə yazaq:

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

Gəlin indi func funksiyasını edək, onun daxilində this.value çıxaraq:

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

Funksiyamız hələ ki, this-in nəyə istinad etdiyini bilmir. Əgər biz onu addEventListener vasitəsilə bağlasaydıq, o zaman bəli. Amma biz bunu etməyəcəyik. Əvəzində biz sadəcə funksiyamızı çağıracıq və ona this-in elem-ə bərabər olması lazım olduğunu deyəcəyik.

Bu belə edilir: func.call(elem). Bu kod func() kimi sadə funksiya çağırışına ekvivalentdir, sadəcə this-in elem-ə bərabər olması şərti ilə.

Beləliklə, call metodunun sintaksisi belədir: funksiya.call(obyekt). Gəlin hər şeyi bir yerə yığaq:

let elem = document.querySelector('#elem'); function func() { console.log(this.value); // inputun value-nu çıxarar } func.call(elem);

Funksiya verilib:

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

Üç input verilib:

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

call metodu və func funksiyası vasitəsilə hər bir inputun value-nı ekranda çıxarın.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et