A JavaScript Function bind () metódus lehetővé teszi az objektum számára, hogy másolás nélkül kölcsönözzen metódust más objektumtól.
A bind()
módszer szintaxisa :
func.bind(thisArg, arg1,… argN)
Itt func
van egy függvény.
bind () Paraméterek
A bind()
módszer:
thisArg
- Athis
paraméter paraméterként megadott értékefunc
. Ez figyelmen kívül marad, ha a kötött függvény új operátorral jön létre .arg1,… argN
(nem kötelező) - A kötött függvényhez adott argumentumokhoz való hivatkozáshoz való hivatkozás megindításakorfunc
.
Megjegyzések:
- Az thisArg setTimeout belsejében történő használatakor a primitív értékek objektummá alakulnak.
- Ha
thisArg
nincs megadva, akkor a végrehajtó hatókörének ezt tekintjükthisArg
.
Visszatérési érték a kötésből ()
- Visszaadja az adott függvény másolatát a megadott értékkel és a kezdeti argumentumokkal (ha rendelkezésre állnak).
Példa: a bind () használata
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
Kimenet
100 1 100
Miután egy metódust átadtak valahol az objektumtól külön - this
elvész. Ha kötött függvényt hoz létre a függvényből az eredeti objektum használatával, akkor ez a probléma szépen megoldódik
Ajánlott olvasmány: JavaScript függvényhívás ()