Metoda wiązania JavaScript

Metoda wiązania JavaScript
W programie JavaScript, kiedy używasz „Ten”Słowo kluczowe z metodą i odwołuj je z obiektu odbiornika, czasami”Ten”Nie jest ograniczony do wymaganego obiektu, a zatem powoduje błędy. Możesz użyć metody JavaScript bind (), aby zapobiec temu problemowi.

Metoda JavaScript () służy do wiązania funkcji. Za pomocą tej metody możesz powiązać obiekt ze wspólną funkcją, aby pokazać różne wyniki zgodnie z Twoim wymaganiem. Możesz także użyć metody bind () do pożyczania funkcji z innego obiektu.

Ten zapis wyjaśni metodę JavaScript BIND () i przykłady związane z pożyczanie funkcji I wiązanie funkcji zostanie również wykazane. A więc zacznijmy!

Metoda JavaScript ()

Metoda JavaScript bind () zapisuje kontekst bieżących parametrów i „Ten”Do przyszłej egzekucji. Zwykle utrzymuje kontekst wykonania funkcji, który działa w innym kontekście.

W przypadku wiązanie funkcji, Metoda bind () tworzy nowa funkcja Posiadanie dokładnej kopii ciała oryginalnej funkcji. Wartość "Ten„Słowo kluczowe jest przekazywane jako pierwszy parametr w metodzie bind () i może również przyjmować dodatkowe argumenty dotyczące wiązania. Podczas gdy w pożyczanie funkcji, Metoda JavaScript () pożyczki funkcjonować innego obiektu bez wykonywania kopii.

Składnia metody JavaScript bind ()

Spójrz na składnię metody JavaScript bind ():

funkcjonować.bind (thisarg, [arg1], [arg2],…);

Tutaj "Thisarg" przedstawiać "Ten”Słowo kluczowe i „[Arg1], [Arg2],… ”To dodatkowe argumenty. Metoda danej JavaScript BIND () zwróci nową funkcję, gdy zostanie wywołana, a także ustawiona „Ten”Do określonej wartości.

Przykład 1: Za pomocą metody JavaScript () do wiązania pojedynczej funkcji
Przede wszystkim stworzymy prosty program, który obejmuje „pracownik" obiekt. „„pracownik„Obiekt ma„nazwa„Nieruchomość i„showinfo ()" metoda:

Niech pracownik =
Nazwa: „Jack Smith”,
showinfo: function ()
konsola.Log (to.nazwa);

;

„„Ten”Słowo kluczowe dodane w„showinfo ()„Metoda wiąże„ „nazwa„Zmienna do funkcji, w związku z czym uzyskuje dostęp do„Jack Smith„Jako nazwa pracownika nie jest problemem. Proces ten jest znany jako domyślne powiązanie w JavaScript:

pracownik.showinfo ();

Wykonanie powyższego programu pokazuje następujące dane wyjściowe:

Teraz utworzymy nową funkcję zmiennej ”,„Showinfo2”To odnosi się do„showinfo ()„Funkcja obiektu pracownika. W takim przypadku domyślne powiązanie zostanie utracone, a program nie wyświetli żadnego wyjścia:

var showinfo2 = pracownik.showinfo;
showinfo2 ();

Więc kiedy oddzwonienie „pracownik.Showinfo„Jest wywoływany,„nazwa„Własność nie istnieje w obiekcie globalnym i jest ustawiona na„nieokreślony”Jak pokazano na wyjściu:

Możesz użyć metody JavaScript bind (), aby upewnić się, że każde wiązanie związane z „Ten”Słowo kluczowe nie jest utracone. Metoda bind () ustawia kontekst „ten” z określonym obiektem:

Niech pracownik =
Nazwa: „Jack Smith”,
showinfo: function ()
konsola.Log (to.nazwa);

;

Tutaj metoda JavaScript bind () tworzy nową funkcję z „Ten”Słowo kluczowe odnoszące się do parametru w nawiasach. Pozwala nam również wywołać „showinfo ()”Funkcja podczas przekazywania„pracownik„Obiekt jako argument:

var showinfo2 = pracownik.Showinfo.wiązanie (pracownik);
showinfo2 ();

Metoda showinfo2 () wyświetli przypisane „nazwa" z "pracownik" obiekt:

Przykład 2: Za pomocą metody JavaScript () dla wiązania wielu funkcji
W poniższym przykładzie utworzymy trzy obiekty: „Pracownik 1”,„pracownik2", I "pracownik3”:

Niech pracownik1 =
Nazwa: „Jack”;
Niech pracownik2 =
Nazwa: „Max”;
Niech pracownik3 =
Nazwa: „Paul”;
funkcja showinfo ()
konsola.Log (to.nazwa);

Dla każdego z powyższych obiektów wywołamy „showinfo ()„Metoda przy użyciu JavaScript”wiązać()" metoda:

var showinfo2 = showinfo.wiązanie (pracownik 1);
showinfo2 ();
var showinfo3 = showinfo.bind (pracownik2);
showinfo3 ();
var showinfo4 = showinfo.wiązanie (pracownik3);
showinfo4 ();

Wyjście wyświetli wartości właściwości nazwy „Pracownik 1”,„pracownik2", I "pracownik3„Obiekty:

Przykład 3: Za pomocą metody JavaScript bind () do pożyczania funkcji
Za pomocą metody JavaScript bind () obiekt może pożyczyć funkcję innego dodanego obiektu. W przypadku demonstracji utworzymy dwa obiekty „samochód" I "samolot„Posiadanie„nazwa" nieruchomość, "uruchomić()" I "latać()”Metody odpowiednio:

Niech Car =
Nazwa: „Samochód”,
run: funkcja (prędkość)
konsola.Log (to.Nazwa + 'porusza się przy' + prędkość + km / h.');

;
Niech samolot =
Nazwa: „Samolot”,
Fly: funkcja (prędkość)
konsola.Log (to.Nazwa + „lata przy„ + prędkości + ”MPH.');

;

Teraz, jeśli chcesz „samolot„Object to uruchomić, Następnie użyj metody JavaScript bind () do tworzenia funkcji run () za pomocą „Ten„Słowo kluczowe, które ustawia go na„samolot" obiekt:

Let Run = Car.uruchomić.wiązanie (samolot, 20);
uruchomić();

Nazwaliśmy bind () samochodem.Run () Metoda i przekazanie „samolot" Jak "nazwa„Wartość nieruchomości i jej prędkość jako„20”:

Powyższe dane wyjściowe oznacza, że ​​za pomocą metody JavaScript bind (), pomyślnie pożyczyliśmy uruchomić() Metoda z samochód Obiekt, bez robienia kopii.

Wniosek

JavaScript BIND () Metoda zapisuje kontekst bieżących parametrów i „Ten”Do przyszłej egzekucji. Zwykle utrzymuje kontekst wykonania funkcji, który działa w innym kontekście. Można go wykorzystać do wiązania funkcji i pożyczania funkcji. Ten zapis wyjaśnił metodę JavaScript (), a przykłady związane z pożyczaniem funkcji i wiązaniem funkcji.