SyntaxError for function(){}()

SyntaxError for function(){}()

本文关键字:for SyntaxError function      更新时间:2023-09-26

请看这个小提琴。对我来说,它只是一个自动执行的空函数:

function(){}()

Google Chrome 16.0.912.4 dev-m返回错误:

Uncaught SyntaxError: Unexpected token (

为什么?这是特别奇怪的,因为添加多余的括号将删除错误:

(function(){})()

ExpressionStatement:

[lookahead {{, function}]表达式;

因为function () {}()不是ES5.1中定义的语句

一个有效的程序必须是一个语句。

表达式语句。

然而下面的

!function () {}();

是有效语句,()也是有效语句,var ret = function () {}()也是有效语句