Синтаксическая ошибка для функции () {} () - PullRequest
3 голосов
/ 22 октября 2011

Пожалуйста, посмотрите эту скрипку .Для меня это просто самозапускающаяся пустая функция:

function(){}()

Google Chrome 16.0.912.4 dev-m возвращает ошибку:

Uncaught SyntaxError: Unexpected token (

Почему?Это особенно странно, потому что добавление лишних скобок устранит ошибку:

(function(){})()

1 Ответ

8 голосов
/ 22 октября 2011

ExpressionStatement:

[lookahead ∉ {{, function}] Выражение;

Поскольку function () {}() не является оператором, как определено в ES5.1

И действительной программой должно быть утверждение.

Выражение заявления .

однако следующее

!function () {}();

является действительным утверждением, поэтому используется () и var ret = function () {}()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...