在阅读一些Javascript库时,我注意到所有对象定义中都有以下语法。
var FooBar = (function(self) {
self.init = function() {
console.log("init called");
};
return self;
}(FooBar || {}));
我的问题是用FooBar || {})
FooBar调用定义函数的原因是什么,显然在调用时没有初始化。所以它评估为一个空对象。
我的预感是这样做的,如果FooBar
被定义在脚本之前的某个位置,那么它将修改现有的FooBar
我的假设是否正确?