233 of 264 menu

Metodi bind

Metodi bind sallii kontekstin sitomisen funktioon. Ensimmäisenä parametrina tulee välittää konteksti, ja seuraavina parametreina - funktion parametrit. Metodi palauttaa uuden funktion, jossa this on yhtä suuri kuin välitetty konteksti.

Syntaksi

funktio.bind(konteksti, parametri1, parametri2...);

Esimerkki

Oletetaan, että meillä on syötekenttä:

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

Oletetaan, että linkki tähän syötekenttään on tallennettu muuttujaan elem:

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

Oletetaan, että meillä on myös seuraava funktio func:

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

Tehdään bind:n avulla uusi funktio, joka on kopio funktiosta func, mutta this siinä on aina yhtä suuri kuin elem:

let newFunc = func.bind(elem);

Nyt muuttujassa newFunc on funktio. Kutsutaan sitä välittämällä ensimmäiseen parametriin '1' ja toiseen '2':

newFunc('1', '2');

Kootaan kaikki yhteen:

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

Esimerkki

Ei ole pakko tallentaa bind:in tulosta uuteen funktioon newFunc, voi yksinkertaisesti korvata func:

let func = func.bind(elem);

Katso myös

  • metodi call,
    joka kutsuu funktiota kontekstin kanssa
  • metodi apply,
    joka kutsuu funktiota kontekstin kanssa
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää