1

基于官方ECMA-262 版本 5.1 June 2011 标准

语法摘要定义分组运算符(括号)只能包含一个表达式

PrimaryExpression :

this
Identifier
Literal
ArrayLiteral
ObjectLiteral
( Expression )

并且一个表达式只能是一个赋值表达式(或这些表达式的序列)(滚动到第 A.3 节的末尾)

Expression :

AssignmentExpression
Expression , AssignmentExpression

因此,根据 ECMA-262 5.1 版,以下内容应该是不正确的:(FunctionExpression).

4

1 回答 1

2

经过一番挖掘,我发现它实际上是有效的。这是完整的推导(要回溯到第 A.3 节的末尾,然后从以下开始向上推导Expression

Expression -> AssignmentExpression -> ConditionalExpression ->
LogicalORExpression -> LogicalANDExpression -> 
BitwiseORExpression -> BitwiseXORExpression -> 
BitwiseANDExpression -> EqualityExpression -> 
RelationalExpression -> ShiftExpression -> AdditiveExpression -> 
MultiplicativeExpression -> UnaryExpression -> 
PostfixExpression -> LeftHandSideExpression -> NewExpression -> 
MemberExpression -> FunctionExpression
于 2012-06-02T18:24:00.467 回答