2009-10-14 132 views
0

我可以这样做吗?全局变量,Javascript

var global = 0; 

var truc = $.getJSON("events.json", function(json){ 
//alert("JSON Data: " + json[0].titre); 
    global = json; 
}); 

我想保留json的内容并在函数外部使用它。 如果是C,我只想保持指针,但我不知道该怎么做JS

回答

2

是你可以做到这一点

+0

我希望它能工作。猜猜看,如果我将alert(json)放在代码末尾,它会显示零! – toto 2009-10-14 06:07:14

+0

我的意思是警告(全球)当然-.- – toto 2009-10-14 06:07:55

+2

之后?当然它失败了。该请求尚未完成。变量'global'在请求完成之前不会有新的值。 – 2009-10-14 06:11:06

0

我不知道如何JSON作品的细节,所以我不能说你的情况发生了什么,但这个简单的测试工作就如何全局变量将实际工作一个简单的例子:

var global = 0; 

function callTest(arr) { 
    //alert("JSON Data: " + json[0].titre); 
    global = arr; 
} 

var array = new Array("w", "q"); 
callTest(array); 
alert(global); 

这意味着它有事情做与如何JSON的作品。有一件事:你确定在用alert(global)测试之前,用json初始化的函数实际上是运行的吗?

+0

它不是。有一个30毫秒的延迟等待我的服务器发送JSON。 我所做的是所有需要此JSON的代码都将从回调开始。 – toto 2009-10-14 15:05:41