Я читал комментарии к ответу и видел этот комментарий:
[закрытие] не сохраняет состояние foo так же, как создает специальную область, содержащую (1) возвращаемую функцию, и (2) все внешние переменные, на которые ссылаются во время возврата. Эта специальная область называется замыканием.
Хорошо, пока все хорошо. Теперь вот интересная часть, о которой я не знал:
Случай в точке... если бы у вас был другой var, определенный в foo, который был не указан в функции return, он не существовал бы в области закрытия.
Я предполагаю, что это имеет смысл, но какие последствия имеет это помимо использования/производительности памяти?
Вопрос. Если бы все переменные в области были включены в закрытие, что бы это сделало, что я не могу сделать с текущей моделью?