(function(a){ alert(a) }(1)) (function (a) { alert(a) })(1) В чем отличие этих функций? Или вот из примера Стефанова: var result = (function () { return 2 + 2 }()) (function () { alert(‘watch out!’) })()
Ответ Разницы, в общем-то, нет. Дуглас Крокфорд посчитал что запись: (function () { //body }()) Является правильной, а нотацию: (function () { //body })() Неправильной и пренебрежительно называет её "собачьи яйца" (dog balls).
Поэтому используйте ту, что больше нравится (я, к примеру, согласен с Дугласом, хотя второй вариант ничуть не раздражает). Например в Perl вообще слоганом предписано что всё должно иметь несколько путей нотации. Чем JS хуже? :)