您好我有以下内容。
var g = new Array() ;
$.getJSON(google, function(data) {
var i = 0 ;
$.each(data.items, function() {
var obj = new res(i, this.title, this.snippet, this.formattedUrl, 0) ;
g.push(obj) ;
i=i+1 ;
});
});
我需要能够在异步函数之外访问数组。
答案 0 :(得分:3)
严格回答有关如何设置全局的部分,一种常见的方法是为您的应用创建命名空间,例如
window.App = {}; // or just App = {};
然后将全局内容放在那里
App.g = [];
现在您可以从任何地方访问您的命名空间。
请注意,您仍需要了解何时可能有未完成的请求修改全局变量。
答案 1 :(得分:0)
您可以选择使用比全局变量更简单的.data()
。
它的工作方式是你设置这样的元素:
$('body').data('g', mydata);
在任何地方,并像这样检索它:
$('body').data('g');
当然它可以在任何元素上,而不仅仅是body
。