⊗jsPmCxBM 443 of 505 menu

JavaScript-de bind metodi arkaly konteksti çäkmek

Indiki metod bind funksiýa bilen konteksti hemişelik çäkmäge mümkinçilik berýär. Bu metodiň netijesi ýaňy bir funksiýa bolup, onuň içinde this berk kesgitlenen baha bolýar.

Geliň mysalda göreliň.

Bizde input bolsun:

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

Bu inputa çykgyt üýtgeýjide elem ýazylan bolsun:

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

Bizde şeýle funksiýa func hem bolsun:

function func(param1, param2) { console.log(this.value + param1 + param2); }

bind ulanyp, func funksiýasynyň nusgasynyň ýaňysyny ýasalyň, ýöne onuň içindäki this hemişe elem deň bolsun:

let newFunc = func.bind(elem);

Indi newFunc üýtgeýjisinde funksiýa bar. Geliň ony çagyryň, birinji parametre hökmünde '1', ikinjisinde bolsa '2' beriň (ýatladýarys, elem üýtgeýjisinde value-sy 'text' deň bolan input bar):

newFunc('1', '2');

Geliň hemmesini bilelikde jemleýäliň:

let elem = document.getElementById('elem'); function func(param1, param2) { console.log(this.value + param1 + param2); } let newFunc = func.bind(elem); newFunc('1', '2'); // 'text12' çykar

bind işiniň netijesini hökmany newFunc ýaňy funksiýada ýazmaly däldir, diňe func üýtgedip bileris. Ondan soň func öňkisi ýaly funksiýa bolar, ýöne this birikdirilen bolýar:

func = func.bind(elem);

Aşakdaky kod berlen bolsun:

<input id="elem" value="hello"> let elem = document.getElementById('elem'); function func(name, surname) { console.log(this.value + ', ' + name + ' ' + surname); } // bu ýere bind() metodi bilen gurluşy ýazyň func('John', 'Smit'); // bu ýerde 'hello, John Smit' çykmagy gerek func('Eric', 'Luis'); // bu ýerde 'hello, Eric Luis' çykmagy gerek

Görkezilen ýerde bind metodi bilen gurluşy şeýle ýazyň, func funksiýasynyň içindäki this üýtgeýjiden gelen inputa görkezmeli.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et