5

要为所有 JavaScript 启用严格模式,该"use strict"设置是否需要位于每个导入的 JavaScript 文件的顶部、第一个文件的顶部或任何文件的顶部?

似乎没有这方面的文档。

谢谢!

4

2 回答 2

11

它需要位于您要strict应用的每个脚本的顶部。

但是,如果脚本通过缩小连接,那么第一个文件顶部的“使用严格”将适用于所有文件(因为它们将在同一个文件中)。

由于这种感知到的危险(第三方库?),建议不要这样做,而是将其应用于每个脚本的IIFE中。

<script src="foo.js">
    (function () {
        "use strict";

        // Your code, don't forget you've now got to make things global via `window.blah = blah`
    }());
</script>
于 2012-05-04T15:13:00.850 回答
3

它位于每个脚本的顶部,或者如果您只想将其应用于某些功能,您可以执行以下操作:

// Non-strict code...

(function(){
  "use strict";

  // Your strict library goes here.
})();

// More non-strict code... 

这是一篇关于它的好文章:http: //ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/

于 2012-05-04T15:15:28.820 回答