Funkcja JavaScript bind ()

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 jako thisparametr dla func. 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ływania func.

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 jako thisArg.

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 ()

Interesujące artykuły...