233 of 264 menu

Метод bind

Методът bind позволява да се привърже контекст към функция. Като първи параметър трябва да се подаде контекст, а следващите параметри са параметрите на функцията. Методът връща нова функция, в която this ще бъде равен на подадения контекст.

Синтаксис

функция.bind(контекст, параметър1, параметър2...);

Пример

Нека имаме input поле:

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

Нека референцията към този input бъде записана в променливата elem:

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

Нека имаме и следната функция func:

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

Нека с bind създадем нова функция, която ще бъде копие на функцията func, но this в нея винаги ще бъде равен на elem:

let newFunc = func.bind(elem);

Сега в променливата newFunc се намира функция. Нека я извикаме, като подадем първи параметр '1', а втори '2':

newFunc('1', '2');

Нека съберем всичко заедно:

let elem = document.getElementById('elem'); function func(param1, param2) { console.log(this.value + param1 + param2); } let newFunc = func.bind(elem); newFunc('1', '2'); // ще изведе 'text12'

Пример

Не е задължително резултатът от работата на bind да се записва в нова функция newFunc, може просто да се презапише func:

let func = func.bind(elem);

Вижте също

  • метод call,
    който извиква функция с контекст
  • метод apply,
    който извиква функция с контекст
Български
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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне