StatementList[Return]:
ReturnStatement
ExpressionStatement
是下面的缩写
StatementList:
ReturnStatement
ExpressionStatement
StatementList_Return:
ReturnStatement
ExpressionStatement
但是并不知道,后面加一个_Return具体表达了一个什么意思
哪位大神指导一下,困惑好几天了
StatementList[Return]:
ReturnStatement
ExpressionStatement
是下面的缩写
StatementList:
ReturnStatement
ExpressionStatement
StatementList_Return:
ReturnStatement
ExpressionStatement
但是并不知道,后面加一个_Return具体表达了一个什么意思
哪位大神指导一下,困惑好几天了
13 回答12.8k 阅读
7 回答2k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答928 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
就是把两条语法写一起了啊。表示啥意思要看它用在了什么地方。这给得找真语法看了。必然两个会有所不同(通常是用在了不同的地方),才会分成两个的。这里只是个示例,并不是真语法,没法解释区别。
另外标准里也写了,由于这种简写,可能很生成一些根本用不到的语法,忽略就好了。
比如说,FunctionBody 是带 [Yield, Await]的,一共有四个版本。
FunctionExpression 用了 FunctionBody
GeneratorBody 用了 FunctionBody_Yield
AsyncGeneratorBody 用了 FunctionBody_Yield_Await
AsyncFunctionBody 用了 FunctionBody_Await
从上面来看,没后缀的版本用于普通函数, _Yield 版本用于 Generator, _Yield_Await 版本用于 Async Generator ,_Await 版本用于 async 函数。
另外,标准里的一些 note 解释了一些参数的作用。比如_In