Нет необходимости в документации. Просто посмотрите в the source.
Директива Вводный является самой длинной последовательностью ExpressionStatement производств, протекающих в качестве исходного SourceElement производств в программы или FunctionBody и где каждый ExpressionStatement в последовательности состоит целиком из СтроковогоЛитерал знака следовало точки с запятой. Точка с запятой может отображаться явно или может быть вставлена путем автоматической вставки точки с запятой . Директива Prologue может быть пустой .
A Используйте Строгое Директива ИнструкцияВыражение в директиве Вводной которого СтроковойЛитерал является либо точной последовательности символов «использовать строгий» или «использовать строгий». A Использовать строгую директиву может не содержать EscapeSequence или LineContinuation.
Директива Prologue может содержать более одной Инструкции по использованию Strict. Однако реализация может выдать предупреждение, если это произойдет.
Других слов, директива Вводный является самой длинной последовательностью строки буквальной + точка с запятой в точном начале функции или программы (верхний уровень код):
(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
})();
я не знаю достаточно о директивах пролога вообще, чтобы ответить, но вот дополнительную информацию о [Строгий режим] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode) и [почему вы должны использовать его] (http: // cjihrig.com/blog/javascripts-strict-mode-and-why-you-should-use-it /), если сможете. Строгий режим - единственный, о котором я знаю, который широко поддерживается. В качестве вопроса, который вы связываете между собой, [ASM.js] (http://ejohn.org/blog/asmjs-javascript-compile-target/) является [поддерживается/получает поддержку] (http://www.2ality.com/ 2013/02/asm-js.html # поддержка) в нескольких браузерах. –