Podczas programowania w JavaScript są sytuacje, w których istnieje potrzeba zintegrowania funkcji obiektu z funkcją zdefiniowaną przez użytkownika. Ponadto zastosowanie dodatkowej funkcjonalności do utworzonego obiektu lub jego właściwości do zastosowania operacji bez jego zmiany. W takich przypadkach JavaScript zapewnia „
dzwonić()”,„
stosować()", I "
wiązać()„Metody radzenia sobie z takimi sytuacjami.
W tym artykule omówiono różnice między metodami Call (), Apply () i bind ().
JavaScript call () vs Apply () vs bind () metody
Metoda call ()
„„dzwonić()”Metoda wywołuje funkcję o określonym kontekście. Metodę tę można zastosować do zintegrowania funkcji obiektu i funkcji, uzyskując dostęp do funkcji o obiekcie skierowanym jako parametrze funkcji wraz z przepisanymi parametrami jednocześnie.
Składnia
Call (Ref, Args)
W podanej składni:
- "Ref”Odnosi się do wartości, którą należy wykorzystać jako„Ten”Podczas wywoływania funkcji.
- "Args”Wskazuje na argumenty funkcji.
Przykład
Śledźmy poniżej podanego przykładu:
W powyższym fragmencie kodu wykonaj następujące kroki:
- Utwórz obiekt o podanej właściwości.
- Następnie zadeklaruj funkcję o nazwie „sumnum ()„Posiadanie podanych parametrów.
- W swojej definicji użyj „Ten„Aby odnieść się do właściwości utworzonego obiektu i dodać do niego umieszczone parametry.
- Wreszcie dostęp do funkcji i „dzwonić()”Metoda, odnosząc się do utworzonego obiektu i parametru przekazanego. To doda wartości parametrów do wartości właściwości obiektu.
Wyjście
Z powyższego wyjścia można zaobserwować, że suma wartości właściwości obiektu i parametry przepustki są zwracane.
Zastosuj () metodę
Ta metoda jest identyczna z „dzwonić()" metoda. Różnica w tej metodzie polega na tym, że przyjmuje parametry funkcji w postaci tablicy.
Składnia
Zastosuj (ref, tablica)
W powyższej składni:
- "Ref”Odnosi się do wartości, którą należy wykorzystać jako„Ten”Podczas wywoływania funkcji.
- "szyk”Wskazuje argumenty w postaci tablicy, z którą funkcja zostanie wywołana.
Przykład
Rzućmy okiem na następujący przykład:
W fragmencie kodu Adobe wykonaj następujące kroki:
- Powtórz omawiane kroki w przykładzie „dzwonić()„Metoda tworzenia obiektu, deklarowania funkcji z parametrami i odnosząca się do obiektu.
- Wreszcie, dostęp do zdefiniowanej funkcji, zawierając poleceni obiekt jako jego pierwszy parametr i wartości parametru funkcji w formie tablicy.
- Spowoduje to podobnie zwrócenie sumy obiektu i przekazane wartości parametrów.
Wyjście
Z powyższego wyjścia jest oczywiste, że żądana suma jest zwracana.
Metoda wiązania ()
„„wiązać()”Metoda nie wykonuje natychmiastowej funkcji, a raczej zwraca funkcję, którą można wykonać później.
Składnia
Bind (ref, args)
W powyższej składni:
- "Ref”Odpowiada wartości, którą należy przekazać jako„Ten„Parametr do funkcji docelowej.
- "Args”Odnosi się do argumentów funkcji.
Przykład
Postępujmy zgodnie z podanym przykładem, aby jasno zrozumieć:
W powyższym kodzie JavaScript wykonaj następujące kroki:
- Przypomnijmy omawiane kroki w tworzeniu obiektu i zdefiniowania funkcji o podanych parametrach.
- W następnym kroku zastosuj „wiązać()”Metoda i powtórz tę samą procedurę zawierania utworzonego obiektu i przekazanych wartości parametrów, aby zwrócić sumę.
- Tutaj przechowuj wykonane funkcje w poprzednim kroku w „Wline”Funkcja o nazwie„UpdFunction ()”, Które można również wykorzystać później.
Wyjście
W powyższym wyjściu widać, że po wywołaniu podanych „Wline„Funkcja, suma jest zwracana w wyniku.
Przykład: Zastosowanie Call (), Apply () i Bind () z tym samym obiektem i funkcją
W tym przykładzie zastosuj omawiane metody na jednym obiekcie za pomocą funkcji.
Śledźmy poniżej podanego przykładu krok po kroku:
W powyższych wierszach kodu wykonaj następujące kroki:
- Odwróć omawiane kroki w tworzeniu obiektu, deklarując funkcję posiadającą określone parametry.
- W dalszym kodzie dostęp do zdefiniowanej funkcji z każdą omówioną metodą.
- Można zaobserwować, że wszystkie trzy metody są stosowane inaczej wraz z funkcją, ale dają to samo wyjście, co widać poniżej.
Wyjście
Z powyższego wyjścia można zauważyć, że wszystkie metody dają to samo wyjście.
Wniosek
„„dzwonić()" I "stosować()„Metody można wdrożyć w celu zintegrowania funkcjonalności obiektu i funkcji, przekazując odpowiednio wartości parametru, odpowiednio i w formie tablicy. „„wiązać()„Metoda można również zastosować podobnie. Dodatkową funkcjonalność w tej metodzie polega na tym, że jest przechowywana w funkcji, która ma zostać wykorzystana później. W tym samouczku wyjaśniono różnice między metodami call (), Apply () i bind ().