ECMAScript5 では、strict モード プラグマにはどのようなスコープがありますか?
"use strict";
私はこれをしたいと思います(主にJSLintがそれについて文句を言わないため):
"use strict";
(function () {
// my stuff here...
}());
しかし、それが他のコードを壊すかどうかはわかりません。私はこれを行うことができることを知っています。これにより、プラグマが関数にスコープされます...
(function () {
"use strict";
// my stuff here...
}());
しかし、JSLint は、「use strict」を有効にする前にコードを実行していると見なすため、(「strict」JSLint オプションが有効になっている場合) 文句を言います。
これが私の質問です。fileA.js がある場合:
"use strict";
// do some stuff
および fileB.js:
eval( somecodesnippet ); // disallowed by "use strict"
そして、それらを同じ順序でhtmlページに含めます。プラグマはファイルにスコープされますか、それともプラグマはfileBに流れ込み、evalの実行をブロックしますか?