我想使用'use strict';在揭示原型模式。问题是我应该在构造函数中使用它还是在我的下面代码
中的原型部分中使用它var Foo = function () {
'use strict'; // should I use it here
};
Foo.prototype = (function () {
'use strict'; // or should I use it here?
return {};
}());
答案 0 :(得分:1)
这取决于你的情况,但我认为一个好的规则就是尽可能在最外层使用它。如果您正在处理控制所有代码的站点(或节点应用程序),请将'use strict';
放在每个模块的顶部。 (使用Node,您可以通过在严格模式下启动运行时系统来完全绕过它。)
如果你必须处理1997年编写的第三方代码,你必须保持严格模式本地化,但你仍然可以用类似模块的匿名函数包装器覆盖你的代码,其中一切都很严格。
请注意,'use strict';
适用于其范围和所有嵌套范围。因此:
(function() {
'use strict';
// hundreds and hundreds of functions etc.
})();
在该代码中,外部匿名函数中的所有将以严格模式解释。