Можешь поискать "Отложенное определение функции" или "Самоопределяемая функция".
Флэнагана читал? Мне хватило его объяснений не тему замыканий. Могу попытаться объяснить.
function some_func() {
var result = (feature_detect) ? true : false;
/*
* Так как область видимости у функций в javascript лексическая,
* то данная анонимная функция сохраняет
* цепочку областей видимости в которой она определена.
* То есть при вызове кода данной функции, неважно как она сохранена и
* под каким именем, она будет иметь доступ к переменным из объемлющей функции.
* Вот и замыкание. Имя функции значения не
* имеет, важно то, что во внешний код передается ссылка на вложенную анонимную функцию,
* и т. к. функция определена внутри
* другой функции, она будет иметь доступ ко всем переменным объемлющей функции.
*/
some_func = function() {
if (result) {
}
};
some_func();
}