在哪里使用'use strict';在揭示原型模式

时间:2014-02-22 15:05:32

标签: javascript

我想使用'use strict';在揭示原型模式。问题是我应该在构造函数中使用它还是在我的下面代码

中的原型部分中使用它
var Foo = function () {
    'use strict'; // should I use it here
};

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

1 个答案:

答案 0 :(得分:1)

这取决于你的情况,但我认为一个好的规则就是尽可能在最外层使用它。如果您正在处理控制所有代码的站点(或节点应用程序),请将'use strict';放在每个模块的顶部。 (使用Node,您可以通过在严格模式下启动运行时系统来完全绕过它。)

如果你必须处理1997年编写的第三方代码,你必须保持严格模式本地化,但你仍然可以用类似模块的匿名函数包装器覆盖你的代码,其中一切都很严格。

请注意,'use strict';适用于其范围和所有嵌套范围。因此:

(function() {
  'use strict';

  // hundreds and hundreds of functions etc.

})();

在该代码中,外部匿名函数中的所有将以严格模式解释。