Czy środowisko leksykalne i zakres w języku javascript to jedno i to samo?Środowisko leksykalne i zakres funkcji
Odpowiedz
Oto co spec mówi o lexical environments:
leksykalne Środowisko jest Rodzaj używany do określenia stowarzyszenie identyfikatorów specyficznych funkcji i zmiennych oparciu leksykalnej struktury zagnieżdżenia kodu ECMAScript. Środowisko leksykalne składa się z rekordu środowiska i prawdopodobnie zerowego odniesienia do zewnętrznego środowiska leksykalnego.
Na tej podstawie powiedziałbym "tak", o czym zwykle mówią ludzie, gdy mówią "zakres".
Chociaż może to prawdopodobnie twierdził, że „zakres” jest właściwie zdefiniowana jako „Declarative Environment Record”:
Każdy rekord deklaratywne środowisko jest związany z zakresem programu ECMAScript zawierającego deklaracje zmiennych i/lub funkcji. Deklaracyjny zapis środowiska wiąże zestaw identyfikatorów określony przez deklaracje zawarte w jego zasięgu.
Jeśli myślisz o "zasięgu" jako rzeczy, która zawiera powiązania między identyfikatorami i wartościami, to druga definicja prawdopodobnie pasuje lepiej. Jeśli myślisz o tym jako o świadomości swoich przodków, to pierwsza definicja pasuje lepiej.
Edytuj: a trzecią opcją jest "Execution Context".
Środowisko leksykalne jest środowiskiem funkcji, w której jest napisane. Oznacza to, że statyczna kolejność/miejsce, w którym się znajduje, niezależnie od tego, skąd jest wywoływana.
Zasięg zmiennej/funkcji to w zasadzie lokalizacje, z których zmienna jest widoczna/dostępna.
Kontekst wykonawczy jest stanem stosu wykonawczego w dowolnym momencie podczas wykonywania. To jest bieżący kontekst wykonania.
- 1. Zagnieżdżone środowisko wyboru funkcji
- 2. Modyfikacja i zakres funkcji PowerShell AST
- 3. do.call określić środowisko wewnątrz funkcji
- 4. jaki jest zakres funkcji funkcji w qore?
- 5. zakres funkcji eval w Pythonie
- 6. dziwne zachowanie funkcji Python zakres
- 7. update() w funkcji tylko przeszukuje środowisko globalne?
- 8. Środowisko programistyczne SharePoint/środowisko produkcyjne
- 9. addEventListener i zakres tego
- 10. Zakres funkcji JavaScript między znacznikami skryptu
- 11. Jak uzyskać "to" (zakres) funkcji anonimowej Javascript?
- 12. Zakres funkcji oprogramowania pośredniego w pliku express.js
- 13. Środowisko programistyczne Dotnetnuke i wdrożenie
- 14. Kiedy jest zakres leksykalny dla funkcji określonej w funkcji?
- 15. powiązać `this` zakres funkcji obietnica zwrotnej
- 16. Greasemonkey Script i Function Zakres
- 17. jQuery ajax sukces anonimowy zakres funkcji
- 18. zakres vs ctags pod względem funkcji
- 19. golang: pobierz bieżący zakres nazwy funkcji
- 20. Różnica deklaracji i zakres?
- 21. Zakres rails i dołącza
- 22. Imshow: zakres i aspekt
- 23. ssh i zmienne środowisko zdalne i lokalne
- 24. Excel vba: Zakres i komórka
- 25. Piramida + jinja2 i nowe środowisko wykonawcze GAE
- 26. Scoped i zakres w szynach
- 27. Klasy JavaScript i zakres zmienny
- 28. JavaScript zmienny zakres i wartość
- 29. Sesja Angularjs Przechowywanie i zakres
- 30. JavaScript asynchroniczny callback i zakres
Druga definicja odnosi się do "zakresu", więc nie może być definicją samego "zakresu". – OrangeDog
Tak, może. Pytanie dotyczy zakresu "programowania". Druga definicja używa "normalnej" (słownik, jeśli wolisz) angielskiej definicji zakresu słowa. – zenw0lf