На самом деле классика случая анонимной+замыкание:
var name="admin"
    
    setTimeout(function(){
        alert(name);
    },1000);
А анонимная функция без имени, а без имени она потому что ее вызывают не по имени, а по ссылке на нее.
т.е полный пример с замыканием:
function sayAfter(text,delay){  
    setTimeout(function(){
        alert(text);
    },delay);
   }
  sayAfter("lol",1000);
Аудитория требует более тонкого примера применения...
(function(){
        var x, y, z;
        //много разного кода, много переменных, которые не нужны в глобальной области видимости
    })();