JavaScript-funktion sidonta ()

JavaScript Function bind () -menetelmän avulla objekti voi lainata menetelmää toisesta kohteesta kopioimatta.

Menetelmän syntaksi bind()on:

 func.bind(thisArg, arg1,… argN)

Tässä funcon funktio.

bind () -parametrit

bind()Menetelmä vie:

  • thisArg- thisParametriksi annettu arvo parametrille func. Se ohitetaan, jos sidottu toiminto luodaan uudella operaattorilla.
  • arg1,… argN(valinnainen) - Argumentit, jotka perustuvat sidottuun funktioon tarjottuihin argumentteihin kutsuttaessa func.

Huomautuksia:

  • Kun käytät tätä argentia setTimeoutin sisällä, primitiiviset arvot muunnetaan objekteiksi.
  • Jos sitä thisArgei ole määritetty, tätä suoritettavan laajuuden kohdalla käsitellään thisArg.

Palautusarvo sidonnasta ()

  • Palauttaa kopion annetusta funktiosta, jossa on määritetty tämä arvo ja alkuperäiset argumentit (jos toimitettu).

Esimerkki: sitomisen () käyttö

 this.x = 1; // "this" here is the global window object in browser const obj = ( x: 100, getX: function () ( return this.x; ), ); console.log(obj.getX()); // 100 const retrieveX = obj.getX; // the function gets invoked at the global scope console.log(retrieveX()); // 1 // Create a new function with 'this' bound to obj // global variable 'x' with obj's property 'x' are two separate entities const boundGetX = retrieveX.bind(obj); console.log(boundGetX()); // 100

Tuotos

 100 1100

Kun menetelmä on siirretty jonnekin erillään kohteesta - thismenetetään. Sidotun funktion luominen toiminnosta alkuperäisen objektin avulla ratkaisee tämän ongelman siististi

Suositeltava lukeminen: JavaScript-toimintokutsu ()

Mielenkiintoisia artikkeleita...