我一直在尝试理解IIFE在匿名函数方面是如何工作的。我理解它们在避免全局变量冲突方面的用法,并且它们创建了自己的局部作用域。
我不清楚当这样的匿名函数被调用时会发生什么。
(function () {
var myVar = 'foo';
}
)()如果它立即被调用,并且在全局范围内不可用,那么它在哪里可用呢?如何访问myVar?
发布于 2014-12-21 01:54:49
这种表示法称为模块模式。
var myModule = function () {
var privateVar = "foo";
function privateMethod() {
return "bar";
}
return {
publicMethod : function(){
return 'foo';
}
}
}要使此模块与全局作用域完全隔离,我们可以在生命周期中关闭它
(function (setUp) {
var privateVar = setUp;
function privateMethod() {
return "bar";
}
return {
publicMethod : function(){
return 'foo';
}
}
})(window.setUp);https://stackoverflow.com/questions/27582698
复制相似问题