Показать сообщение отдельно
  #26 (permalink)  
Старый 20.09.2017, 00:33
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от MallSerg
на каждый вызов функции создается контекст (окружение) для исполнения этой функции
Сообщение от MallSerg
Вот в новом стандарте и ввели способ это обойти вместо создания нового контекста используется уже существующий
Сообщение от MallSerg
создание уникального окружения (LexicalEnvironment) для каждой функции и делает возможным механизм замыкания
Сообщение от MallSerg
function вне глобальной области видимости получи оверхед на создание окружения для функции
бла бла бла, о каком окружении/контексте ты говоришь? о замыкании? но стрелочные функции способны делать замыкание также как и обычные функции, а по твоей логике нет.
let a = (() => {
    let b = 7;
    return () => { alert(b) }
})();
a();

И в замыкании функции остаются только те переменные из окружения на которые есть ссылки внутри функции, а не все существующие в окружении ее объявления как ты думаешь...

Последний раз редактировалось Rise, 20.09.2017 в 00:38.
Ответить с цитированием