【发布时间】:2014-10-12 06:13:31
【问题描述】:
我正在使用几个全局实用程序对象,例如:
var StringUtils = {
// ...
equalsIgnoreCase: function(string1, string2) {
return string1.toUpperCase() === string2.toUpperCase();
}
// ...
};
在这种情况下如何使用"use strict"?我尝试了以下方法:
(function() {
"use strict";
var StringUtils = {
// ...
equalsIgnoreCase: function(string1, string2) {
return string1.toUpperCase() === string2.toUpperCase();
}
// ...
};
})();
但您可以想象,StringUtils 在其范围之外不再可用。
【问题讨论】:
-
为什么要在 IIFE 中包装 StringUtils?
-
@Satpal 因为我认为这是使用“使用严格”的正确语法。我是不是误会了什么?
-
如果它是全局的,为什么不使用 IIFE 并将其设置为
window.StringUtils = { ... }?
标签: javascript scope use-strict