JavaScript函数调用是LeftHandSideExpression,因此是ExpressionStatement吗?
我试图证明一个简单的函数调用JavaScript函数调用是LeftHandSideExpression,因此是ExpressionStatement吗?,javascript,bnf,function-call,ecmascript-2016,Javascript,Bnf,Function Call,Ecmascript 2016,我试图证明一个简单的函数调用 window.alert(); 是有效的EcmaScript 2016(第7版)语法。反向工作,期望这是一个ExpressionStatement,我看到它符合模式MemberExpression参数,这是一个CallExpression。第12.3节将LeftHandSideExpression定义为可能的CallExpression。现在,我的问题是,12.15节AssignmentExpression似乎要求LeftHandSideExpression后面跟
window.alert();
是有效的EcmaScript 2016(第7版)语法。反向工作,期望这是一个ExpressionStatement,我看到它符合模式MemberExpression参数,这是一个CallExpression。第12.3节将LeftHandSideExpression定义为可能的CallExpression。现在,我的问题是,12.15节AssignmentExpression似乎要求LeftHandSideExpression后面跟一个AssignmentExpression或AssignmentOperator,而AssignmentExpression不能是强>
我可能错过了一些简单的东西。我们将非常感谢您的指导。一个任务不一定是一个任务,它只意味着“一个任务可以站在这里”。它也可以仅由条件表达组成。现在我们需要了解整个关联性规则链:A可以包含三元运算符,也可以仅由逻辑表达式组成。A可以包含
|
运算符,也可以仅由逻辑表达式组成。如此类推:A可以由A组成,A可以由A组成,A可以由A组成,A可以由A组成,A可以由A组成,A可以由A组成,A可以由A组成,A可以由A组成,A可以由A组成,A可以由安
这最终可以包括我们一直在照顾的东西。谢谢,贝吉。但是UpdateExpression不需要递增或递减运算符来跟随LeftHandSideExpression吗?@Matthias不,只是
LeftHandSideExpression
是五个选项中的第一个,所以它不需要这些。12.4我现在看到了!谢谢你们,朋友们@Matthias ASI章节中的规则和中的UpdateExpression产品都缺少一条规则,即它可以仅由LeftHandside表达式组成,但这似乎是自动生成的附件中的编辑错误。顺便说一句,@Bergi对我没有疯狂表示肯定,对我不够彻底表示否定。非常感谢您提供的后续信息。