我偶然发现了人们选择称之为“序言指令”的东西。更为人所熟知的“使用严格”; JavaScript中的字符串文字。我已经知道的一切。但是共同点是Prologue指令。这是什么?关于此主题的文档很少。最好的一个是我链接的问题。
ECMAScript multiple Prologue Directives
我的问题很普遍:
这些是什么?
它们可以用来做什么?
谁在使用它们,为什么?
我可以做吗?
我是不是该?
最佳答案
无需文档。只要看看the source即可。
换句话说,“指令序言”是在函数或程序的确切开始处(顶级代码)的字符串文字+分号的最长序列:
(function(){
"use strict"; // <-- Directive Prologue
})()
或者:
(function() {
// Directive Prologue start
"foo bar"
"baz";
'123';
'';
// Directive Prologue end
})();
或者:
'blah'; // <-- Directive Prologue (top-level code)
/* rest of the code here */
请注意,一旦字符串文字不是第一个语句,它就不再是指令序言:
var x;
"use strict"; // <-- NOT a Directive Prologue
或者:
(function() {
1 + "use magic"; // <-- NOT a Directive Prologue
})();