javascript - 在哪里使用 'use strict' ;在揭示原型(prototype)模式

标签 javascript

我想使用'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/

相关文章:

javascript - js - 声明多维数组+推送键和值

javascript - jquery 附加按钮错误!

Javascript缓存

javascript - ngRepeat 用作表内的元素不起作用

javascript - 如何使用 javascript 重新加载上一页?

javascript - 将当前元素插入我的数组

javascript - 使用 api 在 facebook 页面上发布图像或状态

javascript - 在 react 中从 json 字符串渲染 HTML

javascript - 如何在另一个 ''语句中的javascript中使用 ''?

javascript - 如何重置已安装组件中 Prop 更改的状态?