某些 ECMAScript 环境允许通过 Directive Prologue 切换到特殊模式。ECMAScript 5 有“use strict”,而asm等其他有自己的“use asm”。
Directive Prologues上的文档是用一种对我的理解水平来说有点迟钝的语言编写的。构建具有多个指令的指令序言的正确方法是什么?我的预感是:
function(){
"use foo";
"use bar";
}
但我不确定。
某些 ECMAScript 环境允许通过 Directive Prologue 切换到特殊模式。ECMAScript 5 有“use strict”,而asm等其他有自己的“use asm”。
Directive Prologues上的文档是用一种对我的理解水平来说有点迟钝的语言编写的。构建具有多个指令的指令序言的正确方法是什么?我的预感是:
function(){
"use foo";
"use bar";
}
但我不确定。
由于没有人回答,但我找到了答案,并且在评论中得到了确认,我正在回答我自己的问题以关闭它。
是的,要在序言中使用多个指令,一个接一个地列出它们,如下所示:
function(){
"use foo";
"use bar";
}
或者
function(){
"use foo"; "use bar";
}
构建具有多个指令的指令序言的正确方法是什么?
正如您链接的规范所说,
a
Directive Prologue
是 [在脚本或函数的开头] 发生的最长的ExpressionStatement
产生序列,其中每个 [它们] 完全由 a 组成StringLiteral
。
因此,您可以将它们串在一起,这些字符串文字语句中的每一个都是指令;并且可以具有特定于实现的含义(仅指定了 Use-Strict-Directive)。你的预感是正确的,这应该有效:
"use bar"
"use strict"; 'use x';
'use foo';