s) в котором это не проблема, поэтому конструкция там разрешена.

ел бы создать анонимную функцию, а затем немедленно вызвать ее.

1) Это приведет к синтаксической ошибке. Почему?

function ()
{
    alert("hello");
}();

2) оберните определение функции с помощью (), и оно работает.

(function ()
{
    alert("hello");
})();

3) или назначить анонимную функцию переменной. Оно работает.

var dummy = function()
{
    alert("hello");
}();

Почему первый способ не работает?

Ответы на вопрос(1)

Ваш ответ на вопрос