gpt4 book ai didi

javascript - 我如何重构这个 javascript 以不使用全局?

转载 作者:行者123 更新时间:2023-12-02 15:37:10 27 4
gpt4 key购买 nike

var groups;

function findGroups {
getGroups().then(function (g) {
groups = g;
});
}

function foo() {
var a = groups[0]; //or something along those lines.
//access the properties of `g`
}

我想在整个页面的其他函数中访问g,所以我将它分配给一个全局变量。我一直觉得全局变量很糟糕。我还能如何实现这一目标?

谢谢

编辑:getGroups() 是一个 API 调用。我不想多次调用它。

最佳答案

如果您需要跨多个页面访问该变量,建立全局命名空间可能是一个好方法:

// file1.js (loaded first)
myApp = {}; // global namespace
(function() {
var groups = {};

myApp.findGroups = function() {
return groups;
};

// init groups
(function init() {
getGroups().then(function (g) {
groups = g;
});
}());
}());

// file2.js (loaded next)
myApp.findGroups(); // now myApp.groups is available

关于javascript - 我如何重构这个 javascript 以不使用全局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32848807/

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