„JavaScript Function bind“) metodas leidžia objektui skolintis metodą iš kito objekto nekopijuojant.
bind()Metodo sintaksė yra tokia:
func.bind(thisArg, arg1,… argN)
Čia funcyra funkcija.
bind () parametrai
bind()Metodas trunka:
thisArg- reikšmė, pateikta kaipthisparametrasfunc. Jo nepaisoma, jei susieta funkcija sukuriama naudojant naują operatorių.arg1,… argN(neprivaloma) - argumentai, kurie priklauso nuo argumentų, pateiktų susietai funkcijai, kai iškviečiamafunc.
Pastabos:
- Naudojant „thisArg“ „setTimeout“ viduje, primityvios reikšmės konvertuojamos į objektus.
- Jei
thisArgnenurodyta, tai vykdymo sritis traktuojama kaipthisArg.
Grąžinimo vertė iš „bind“ ()
- Grąžina nurodytos funkcijos kopiją su nurodyta šia verte ir pradiniais argumentais (jei numatyta).
Pavyzdys: „bind“ () naudojimas
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
Rezultatas
100 1 100
Kai metodas bus perduotas kur nors atskirai nuo objekto, jis thisbus prarastas. Sukūrus susietą funkciją iš funkcijos, naudojant pradinį objektą, tvarkingai išsprendžiama ši problema
Rekomenduojamas skaitymas: „ JavaScript“ funkcijos iškvietimas ()








