gpt4 book ai didi

javascript - 从另一个函数返回自执行函数(IIFE)

转载 作者:行者123 更新时间:2023-11-28 16:04:16 25 4
gpt4 key购买 nike

(function($) {

var foo = (function(){

//some functions

})();

// I can access foo here
var f = new foo();

})(jQuery);

// But obviously not here since it's in another scope

如何将 foo 返回到窗口作用域,以便可以在外部 IIFE 之外访问它?我尝试过 return foo; 但没有成功。

最佳答案

只需将其设置为窗口属性即可:

(function($) {

var foo = (function() {

// some functions

})();

window.foo = foo;
// ^^^^^^^^^^^^^^^^^

})(jQuery);

foo();

但是,将全局对象设置为 window 对象的属性通常会受到轻视。也许您可以通过管理您自己的自定义“全局”对象来模拟这种能力。例如:

var global = {};

(function($) {

global.foo = (function() {

// define

})();

})(jQuery);

global.foo();

这样,在处理各种范围和对象时就不会出现名称冲突。

关于javascript - 从另一个函数返回自执行函数(IIFE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15692128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com