В том то все и дело, что в первом случае вы при каждом вызове этого участка кода будете фигачить эвалюатором по новой функции, а во втором случае функция будет только одна, скомпилируется всего 1 раз а дальше будет использоваться ссылка на нее.
Это, если сравнить с яваскриптом, например будет аналогично следующему:

Код AS1/AS2:
eval("function(){ alert('Hello World!'); }")();
вместо

Код AS1/AS2:
function foo(){ alert("Hello World!"); }
foo();