JavaScript Function bind () metode ļauj objektam aizņemties metodi no cita objekta, nekopējot.
Metodes sintakse bind()ir šāda:
func.bind(thisArg, arg1,… argN)
Šeit funcir funkcija.
bind () parametri
bind()Metode ņem in:
thisArg- vērtība, kas norādīta kāthisparametrsfunc. Tas tiek ignorēts, ja saistītā funkcija tiek izveidota, izmantojot jaunu operatoru.arg1,… argN(pēc izvēles) - argumenti, kuru pamatā ir argumenti, kas sniegti saistītai funkcijai, atsaucotiesfunc.
Piezīmes:
- Izmantojot thisArg iekš setTimeout, primitīvās vērtības tiek pārveidotas par objektiem.
- Ja
thisArgnav norādīts, izpildes sfērā tas tiek uzskatīts parthisArg.
Atgriezeniskā vērtība no saistīšanas ()
- Atgriež norādītās funkcijas kopiju ar norādīto šo vērtību un sākotnējos argumentus (ja tādi ir).
Piemērs: bind () izmantošana
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
Rezultāts
100 1 100
Kad metode tiek nodota kaut kur atsevišķi no objekta - thistiek pazaudēta. Saistītās funkcijas izveidošana no funkcijas, izmantojot sākotnējo objektu, glīti atrisina šo problēmu
Ieteicams lasīt: JavaScript funkciju izsaukums ()








