Zamknięcie jest funkcją pierwszej klasy, która odwołuje się do (zamyka) zmienne z zakresu, w którym zostało zdefiniowane. Jeśli zamknięcie nadal istnieje po zakończeniu jego definiującego zakresu, zmienne, które zamyka, również będą istnieć.
Odpowiedzi na to pytanie są dziełem społeczności . Edytuj istniejące odpowiedzi, aby poprawić ten post. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Przekaż opinię na temat Przepełnienia stosu w języku angielskim : Kod źródłowy w JavaScripcie Jak wyjaśniłbyś zamknięcia JavaScript komuś, kto zna pojęcia, na które składają się (na przykład …
На этот вопрос есть ответы на Stack Overflow на русском : Почему асинхронная функция внутри цикла выполняет п юю Stack Stack Stack var funcs = []; // let's create 3 functions for (var i = 0; i < 3; i++) { // and store them in funcs funcs[i] = function() …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 4 lata temu . Próbuję rozgryźć lambda Pythona. Czy lambda jest jednym z tych „interesujących” przedmiotów językowych, o których …
Czy ktoś mógłby wyjaśnić? Rozumiem podstawowe pojęcia, które się za nimi kryją, ale często widzę, że są używane zamiennie i się mylę. A skoro już tu jesteśmy, czym różnią się od zwykłej funkcji?
Mój przyjaciel i ja obecnie dyskutujemy, co jest zamknięciem w JS, a co nie. Chcemy tylko upewnić się, że naprawdę to rozumiemy. Weźmy ten przykład. Mamy pętlę zliczania i chcemy wydrukować zmienną licznika na konsoli z opóźnieniem. Dlatego używamy setTimeouti zamykania do przechwytywania wartości zmiennej licznika, aby upewnić się, że …
Sprawdzam niektóre PHP 5.3.0funkcje i natknąłem się na kod na stronie, który wygląda dość zabawnie: public function getTotal($tax) { $total = 0.00; $callback = /* This line here: */ function ($quantity, $product) use ($tax, &$total) { $pricePerItem = constant(__CLASS__ . "::PRICE_" . strtoupper($product)); $total += ($pricePerItem * $quantity) * ($tax …
Mam metodę, która ma około dziesięciu wierszy kodu. Chcę stworzyć więcej metod, które robią dokładnie to samo, z wyjątkiem niewielkich obliczeń, które zmienią jeden wiersz kodu. Jest to idealna aplikacja do przekazywania wskaźnika funkcji w celu zastąpienia tej jednej linii, ale Java nie ma wskaźników funkcji. Jaka jest moja najlepsza …
Dokładam wszelkich starań, aby owinąć głowę wokół zamknięć JavaScript. Rozumiem to, zwracając funkcję wewnętrzną, będzie ona miała dostęp do dowolnej zmiennej zdefiniowanej w jej bezpośrednim obiekcie nadrzędnym. Gdzie to by mi się przydało? Być może jeszcze nie mam wokół tego głowy. Większość przykładów, które widziałem online , nie zawiera żadnego …
Widziałem i użyłem funkcji zagnieżdżonych w Pythonie i pasują one do definicji zamknięcia. Dlaczego więc są nazywane nested functionszamiast closures? Czy funkcje zagnieżdżone nie są zamknięciami, ponieważ nie są używane przez świat zewnętrzny? AKTUALIZACJA: Czytałem o zamknięciach i przyszło mi do głowy myśleć o tej koncepcji w odniesieniu do Pythona. …
Ostatnio zacząłem grać z Pythonem i natrafiłem na coś dziwnego w sposobie działania zamknięć. Rozważ następujący kod: adders=[0,1,2,3] for i in [0,1,2,3]: adders[i]=lambda a: i+a print adders[1](3) Buduje prostą tablicę funkcji, które pobierają pojedyncze dane wejściowe i zwracają dane dodane przez liczbę. Funkcje są zbudowane w forpętli, w której iterator …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.