Javascript 在哪里使用';使用严格的';;在揭示原型模式时

Javascript 在哪里使用';使用严格的';;在揭示原型模式时,javascript,Javascript,我想用‘严格使用’;在揭示原型模式方面。问题是,我应该在构造函数中使用它,还是在我下面代码的原型部分中使用它 var Foo = function () { 'use strict'; // should I use it here }; Foo.prototype = (function () { 'use strict'; // or should I use it here? return {}; }()); 这取决于你的情况,但我认为一个好的规则是在你能做到的

我想用‘严格使用’;在揭示原型模式方面。问题是,我应该在构造函数中使用它,还是在我下面代码的原型部分中使用它

var Foo = function () {
    'use strict'; // should I use it here
};

Foo.prototype = (function () {
    'use strict'; // or should I use it here?
    return {};
}());

这取决于你的情况,但我认为一个好的规则是在你能做到的最外层范围内使用它。如果您在控制所有代码的站点(或节点应用程序)上工作,请将
“使用严格的”位于每个模块的顶部。(通过使用Node,您可以通过在严格模式下启动运行时系统来完全绕过它。)

如果您必须处理1997年编写的第三方代码,那么您必须保持严格模式本地化,但是您仍然可以使用类似于模块的匿名函数包装器来覆盖代码,其中所有内容都是严格的

注意,
“使用严格的”应用于其作用域和所有嵌套作用域。因此:


在该代码中,外部匿名函数中的所有内容都将在严格模式下进行解释。

everywhere如何
use strict
仅适用于当前函数和子函数。在我的情况下,我只想将其用于此模块。@2619如果您不希望它是全局的,并且您没有将整个模块包装在匿名函数包装器中,那么您应该将其放在这两个位置。
(function() {
  'use strict';

  // hundreds and hundreds of functions etc.

})();