Zamknięcia JavaScript - korzystając ze specyfikacji ECMA, proszę wyjaśnić, w jaki sposób tworzone i utrzymywane jest zamknięcie

Czytam oZamknięcia JavaScript. Znam toKonteksty wykonania, JakŚrodowisko leksykalne jest utrzymany i bardzo dobrze znanyZakres leksykalny.

Chcę wiedziećw jaki sposób zamknięcia w JavaScript sąstworzony iutrzymany. Czasami trudno mi zrozumieć takie ważne pojęcia bez wiedzyw jaki sposób faktycznie to robi. Wiem, że według Wikipedii jest zamknięcie

jest funkcją lub odwołaniem do funkcji wraz ze środowiskiem odniesienia - tabelą przechowującą odniesienie do każdej ze zmiennych nielokalnych (zwanych również zmiennymi wolnymi) tej funkcji.

Ale moje pytanie brzmi: chcę wiedziećw jaki sposób, wedługSpecyfikacja ECMA, że zamknięcie jest tworzone i utrzymywane. Jestemnie szukając wyjaśnienia teorii zamknięcia na wysokim poziomie, proszę odnieść się do Specyfikacji ECMA w swojej odpowiedzi.

Uwaga: Nie uważaj tego za duplikat, chyba że odpowiedź wyjaśnia zamknięcie przy użyciu specyfikacji ECMA. Ponownie, nie interesuje mnie ktoś cytujący wikipedię i podając przykład, chcę w pełni zrozumieć, jak robi to JavaScript. (Znam toto pytanie na temat SO).

questionAnswers(1)

yourAnswerToTheQuestion