我有一个例子,变量是在自动执行的匿名函数中定义的。我想将它们暴露给全局空间,这样我就可以在匿名函数返回后使用 foo
和 bar
。
(function () {
var foo = 123;
var bar = function () { /* ... */ };
})();
问题是我不能简单地通过 window.foo = 123
或 SomeExistingGlobalObject.foo = 123
来公开它,因为我不知道会出现什么提前在匿名函数内。函数内部的内容是动态生成的。
我尝试从该函数返回另一个自执行函数,但这也不起作用。这可能吗?
最佳答案
var module = (function () {
var foo = 123;
var bar = function () {
console.log('Hallo');
};
return { foo: foo, bar: bar }
})();
console.log(module.foo); // 123
module.bar(); // Hallo
关于javascript - 如何将匿名函数中定义的局部变量公开到全局空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26380538/