233 of 264 menu

Il metodo bind

Il metodo bind permette di collegare un contesto a una funzione. Come primo parametro si deve passare il contesto, e come parametri successivi - i parametri della funzione. Il metodo restituisce una nuova funzione, all'interno della quale this sarà uguale al contesto passato.

Sintassi

funzione.bind(contesto, parametro1, parametro2...);

Esempio

Supponiamo di avere un input:

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

Supponiamo che il riferimento a questo input sia memorizzato nella variabile elem:

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

Supponiamo inoltre di avere la seguente funzione func:

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

Usiamo bind per creare una nuova funzione, che sarà una copia della funzione func, ma this in essa sarà sempre uguale a elem:

let newFunc = func.bind(elem);

Ora nella variabile newFunc si trova una funzione. Chiamiamola, passando nel primo parametro '1', e nel secondo '2':

newFunc('1', '2');

Mettiamo tutto insieme:

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

Esempio

Non è necessario memorizzare il risultato dell'operazione di bind in una nuova funzione newFunc, si può semplicemente sovrascrivere func:

func = func.bind(elem);

Vedi anche

  • il metodo call,
    che chiama una funzione con un contesto
  • il metodo apply,
    che chiama una funzione con un contesto
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta