我正在维护一些遗留代码,我注意到使用了以下定义对象的模式:
var MyObject = {};
(function (root) {
root.myFunction = function (foo) {
//do something
};
})(MyObject);
这样做有什么目的吗? 它是否等同于只做以下事情?
var MyObject = {
myFunction : function (foo) {
//do something
};
};
我并不打算按照自己的喜好重构整个代码库,但我真的很想理解这种迂回定义对象的方式背后的原因。
谢谢!