ECMAScript多个序言指令

时间:2013-02-15 20:02:26

标签: javascript ecmascript-5

某些ECMAScript环境允许通过指令序言切换到特殊模式。 ECMAScript 5具有“使用严格”,其他如asm有自己的“使用asm”。

Directive Prologues上的文档是用一种对我的理解水平有点迟钝的语言编写的。使用多个指令构建指令序言的正确方法是什么?我的预感是:

function(){
  "use foo";
  "use bar";
}

但我不确定。

2 个答案:

答案 0 :(得分:1)

由于没有人回答,但我找到了答案并在评论中得到证实,我正在回答我自己关闭它。

是的,要在序言列表中使用多个指令,一个接一个地这样:

function(){
  "use foo";
  "use bar";
}

function(){
  "use foo"; "use bar";
}

答案 1 :(得分:1)

  

使用多个指令构建指令序言的正确方法是什么?

正如spec you linked所说,

  

Directive Prologue是[{3}}发生的最长序列 [在脚本或函数的开头],其中每个[其中]完全由{{{}组成3}}

所以你可以将它们串在一起,每个字符串文字语句都是一个指令;并且可以具有特定于实现的含义(仅指定了Use-Strict-Directive)。你的预感是正确的,这应该有效:

"use bar"
"use strict"; 'use x';
'use foo';