JSFiddle - React, Tailwind, and code Playground

JavaScript

function someFunc() {
	var foo = { foo: 'bar' };
	setTimeout(alert(foo.foo), 100); // Асинхронная функция
}

someFunc();

// Если бы на foo не было ссылки в замыкании, то здесь бы эту переменную вычистил сборщик мусора и в alert пришел бы undefined. Но этого не происходит, потому что ссылка на переменную foo сохраняется в лексическом окружении функции alert.