【发布时间】:2013-10-02 15:17:22
【问题描述】:
我正在阅读 EcmaScript6 规范,并在算术运算符部分 (http://www.ecma-international.org/ecma-262/5.1/#sec-11.6.1) 中这样提及
加法表达式:
乘法表达式
加法表达式 + 乘法表达式
AdditiveExpression - 乘法表达式
这是什么意思?
【问题讨论】:
我正在阅读 EcmaScript6 规范,并在算术运算符部分 (http://www.ecma-international.org/ecma-262/5.1/#sec-11.6.1) 中这样提及
加法表达式:
乘法表达式
加法表达式 + 乘法表达式
AdditiveExpression - 乘法表达式
这是什么意思?
【问题讨论】:
这意味着 ECMA 规范是用 Martian 编写的。或者火星人。或者对于火星人。我从来都不太确定,确切地说。
错误,但更有帮助的是,第 11.6.1 节解释了“加法运算符”(我们原始人类通常称之为加号或只是“+”或“+/-”)应该如何处理加法语句的结果,减法,乘法,除法,模除法,甚至字符串连接。
在您引用的标题中,作者提醒注意他们试图定义的各种语句类型,这是必须组合的多个语句的简单和更复杂的情况(如最后两行)。
在后面的部分中,它定义了应该如何处理“提示”,在什么情况下脚本应该将变量视为数字而不是字符串等。
这只是一种非常深奥的表达方式。
【讨论】:
A + B 是加法表达式。 A + B + C 是 AdditiveExpression + UnaryExpression。 AdditiveExpression + MultiplicativeExpression 用于演示操作顺序,即您在 before 加法之前执行乘法运算。
来自MDN article on Expressions and operators:
表达式是解析为值的任何有效代码单元。
所以在这种情况下,MultiplicativeExpression 是导致乘法的任何代码单元。最常见的是涉及* 运算符。
您可以阅读Annotated EcmaScript,因为它在规范之上包含一些有用的链接。
【讨论】:
乘法或除法的表达式。
【讨论】: