Przede wszystkim trzeba powiedzieć, że punktu tego nie można określić, gdy funkcja jest zdefiniowana, dopiero gdy funkcja zostanie wykonana, można określić, do kogo wskazuje; w rzeczywistości ostatnim punktem jest obiekt, który ją wywołuje (są pewne problemy z tym zdaniem, które później wyjaśnię, dlaczego jest problem, choć większość artykułów w Internecie tak mówi, choć w wielu przypadkach nie będzie problemu z takim rozumieniem, ale w rzeczywistości to rozumienie jest niedokładne, Więc gdy to zrozumiesz, poczujesz niezrozumienie), więc zgłębię ten temat dogłębnie.
Test wygląda następująco:
Ma on różne wartości dla różnych celów funkcji. Ogólnie rzecz biorąc, jest to obiekt środowiska, w którym funkcja działa. Zastosowanie tego jest szczegółowo omawiane w czterech sytuacjach.
Przypadek 1: Czyste wywołania funkcji
To najczęstsze zastosowanie funkcji i jest to wywołanie globalne, więc reprezentuje obiekt globalny. Spójrz na poniższy kod, działa z wynikiem 1.
Przypadek 2: Metoda wywołań jako obiektu
Funkcję tę można również nazywać metodą obiektu, w takim przypadku odnosi się ona do obiektu nadrzędnego.
Przypadek 3 Wołanie jako konstruktor
Tak zwany konstruktor polega na tym, że dzięki tej funkcji można wygenerować nowy obiekt. W tym momencie odnosi się to do tego nowego obiektu.
Wynik tej serii to 1. Aby pokazać, że obecnie nie jest to obiekt globalny, wprowadzamy pewne zmiany w kodzie:
Wynik tego ciągu to 2, co oznacza, że wartość globalnej zmiennej x w ogóle się nie zmieniła.
Przypadek 4 zastosowaj połączenie
apply() to metoda funkcji, która zmienia wywołujący obiekt funkcji. Jego pierwszy parametr reprezentuje zmieniony obiekt, który wywołuje funkcję. Dlatego odnosi się to do tego pierwszego parametru.
Gdy parametr apply() jest pusty, domyślnie wywołuje się obiekt globalny. W związku z tym wynik przebiegu wynosi 0, co dowodzi, że odnosi się to do obiektu globalnego.
Jeśli zmienisz ostatnią linijkę kodu na
Wynik bieżący wynosi 1, co dowodzi, że reprezentuje obiekt obiektu.
(Koniec)
Odniesienie:
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
|