Metoda bind () funkcji JavaScript umożliwia obiektowi pożyczenie metody z innego obiektu bez kopiowania.
Składnia bind()metody to:
func.bind(thisArg, arg1,… argN)
Tutaj funcjest funkcja.
bind () Parametry
bind()Sposób odbywa się:
thisArg- wartość podana jakothisparametr dlafunc. Jest ignorowany, jeśli powiązana funkcja jest tworzona przy użyciu operatora new .arg1,… argN(opcjonalne) - Argumenty do dołączenia przed argumentami dostarczonymi do powiązanej funkcji podczas wywoływaniafunc.
Uwagi:
- Używając thisArg wewnątrz setTimeout, wartości pierwotne są konwertowane na obiekty.
- Jeśli
thisArgnie jest określony, to zakresu wykonywania jest traktowane jakothisArg.
Wartość zwracana z bind ()
- Zwraca kopię podanej funkcji z określoną tą wartością i argumentami początkowymi (jeśli zostały podane).
Przykład: użycie bind ()
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
Wynik
100 1 100
Gdy metoda zostanie przekazana gdzieś oddzielnie od obiektu - thiszostaje utracona. Utworzenie funkcji związanej z funkcji przy użyciu oryginalnego obiektu starannie rozwiązuje ten problem
Zalecana lektura: wywołanie funkcji JavaScript ()








