jfr*_*d00 9 javascript grammar
在Javascript 的ECMAScript语法规范中,有一个用双冒号定义的块,如下所示:
Literal ::
NullLiteral
BooleanLiteral
NumericLiteral
StringLiteral
RegularExpressionLiteral
Run Code Online (Sandbox Code Playgroud)
用单个冒号定义的块如下:
PrimaryExpression :
this
Identifier
Literal
ArrayLiteral
ObjectLiteral
( Expression )
Run Code Online (Sandbox Code Playgroud)
而且,即使是带有三个冒号的块:
uriCharacter :::
uriReserved
uriUnescaped
uriEscaped
Run Code Online (Sandbox Code Playgroud)
单个和双重和三重冒号有什么区别?
JSON 词法语法用于将字符序列转换为标记,类似于 ECMAScript 词法语法的部分内容。JSON 语法描述了 JSON 词法语法中的标记序列如何形成语法正确的 JSON 对象描述。
标记的词汇规则 ( "::") 意味着“语言的各个部分是什么样子”。5.5它定义了“是一个数字”之类的规则。
表达式的语法规则 ( ":") 表示“各个部分如何相互作用”。5.5 abc它定义了诸如“没有意义”之类的规则。
三冒号 ( ":::") 似乎是专门保留的,用于定义将字符串转换为数字的规则。该字符串" 0x1235 "(带有空格)是有效的数字。三冒号规则定义了这一点。
三冒号 ( ":::") 似乎也用于 uri 字符串语法。最常用的是这样的:"f%20o%20o"解码为"f o o". 这些规则定义了字符串“数字”部分的结构。
| 归档时间: |
|
| 查看次数: |
611 次 |
| 最近记录: |