Смысл использования
(function(){...}())
мне понятен, например так можно выставить флаги при инициализации, ничего при этом "не загрязняя". Но при присвоении анонимной функции переменной, различий между function declaration и function expression я не вижу. Объясните пожалуйста чайнику, неужели это просто code conventions? Ведь должна быть какая то разница, а не просто нравится ненравится?