JavaScripti funktsiooni sidumine ()

JavaScripti funktsiooni bind () meetod võimaldab objektil kopeerimata meetodit teiselt objektilt laenata.

Meetodi süntaks bind()on:

 func.bind(thisArg, arg1,… argN)

Siin funcon funktsioon.

bind () parameetrid

bind()Meetod võtab:

  • thisArg- väärtus, mis on antud thisparameetrina func. Seda ignoreeritakse, kui seotud funktsioon luuakse uue operaatori abil.
  • arg1,… argN(valikuline) - argumendid, mis põhinevad seotud funktsioonile pakutavatel argumentidel func.

Märkused:

  • Selle argenti kasutamisel setTimeouti sees teisendatakse primitiivsed väärtused objektideks.
  • Kui thisArgseda pole täpsustatud, käsitletakse seda käivitamisala ulatusena thisArg.

Tagastab väärtuse sidumisest ()

  • Tagastab antud funktsiooni koopia koos selle väärtusega ja algsete argumentidega (kui on olemas).

Näide: bind () kasutamine

 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

Väljund

 100 1 100

Kui meetod on objektist kuskil eraldi edasi antud - thison kadunud. Funktsioonist seotud funktsiooni loomine algse objekti abil lahendab selle probleemi kenasti

Soovitatav lugemine: JavaScripti funktsioonikõne ()

Huvitavad Artiklid...