Замыкание в JS.
Чтобы понять, что такое замыкание, рассмотрим пример: function person() {let name = 'Peter'; return function displayName() { console.log(name); }; } let peter = person(); peter(); // 'Peter' Вызов функции peter() возвращает функцию displayName(). В свою очередь, функция displayName() имеет доступ к переменной name, которая расположена во внешней по отношению к ней функции. Таким образом, функция displayName() является замыканием. Итак, замыкание — это функция, которая запоминает и имеет доступ к лексическому окружению, в котором она была создана (контекст выполнения)...
273 читали · 2 месяца назад
Язык JavaScript - Планирование: setTimeout и setInterval
Вы когда-нибудь задумывались, как JavaScript выполняет код "через 5 секунд", если он однопоточный? Или почему setTimeout(fn, 0) не выполняется мгновенно? Или как остановить бесконечный интервал, который уже запущен? Добро пожаловать в мир асинхронного планирования. setTimeout и setInterval - это два кита, на которых держится отложенное выполнение в JavaScript. Они кажутся простыми: "запланируй эту функцию на потом". Но за этой простотой скрывается Event Loop, макрозадачи и множество подводных камней...