最近,当我试图在JavaScript中学习更多有关IIFE和模块的问题时,我想到了IIFE如何制作模块而不是立即调用该函数并不会使它成为一个模块.
任何人都可以与我分享这段代码之间的区别
var MODULE = (function () {
var my = {},
privateVariable = 1;
function privateMethod() {
// ...
}
my.moduleProperty = 1;
my.moduleMethod = function () {
// ...
};
return my;
}());
Run Code Online (Sandbox Code Playgroud)
和这个函数不立即调用的代码..
var MODULE = function () {
var my = {},
privateVariable = 1;
function privateMethod() {
// ...
}
my.moduleProperty = 1;
my.moduleMethod = function () {
// ...
};
return my;
};
Run Code Online (Sandbox Code Playgroud)
第二个代码块是否意味着Module只是一个自身返回对象的函数?
如果我像这样使用第二个变量
var ModuleObj = Module();
Run Code Online (Sandbox Code Playgroud)
这会像我在IIFE上分享的第一个代码块一样工作吗...有点困惑......