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