Kyl*_*iss 2 javascript variables jquery
我有一个问题,这个变量不想在函数外工作,我只是不明白为什么!这是代码:
globalData = new Array();
//
// Colors
//
if ( settings.category == 'colors' ) {
$.getJSON(colorLoversURL, function(data) {
for ( var i in data ) {
var localData = data[i].hex;
globalData.push(localData);
}
});
}
//
// Palettes
//
else if ( settings.category == 'palettes' ) {
$.getJSON(colorLoversURL, function(data) {
for ( var i in data ) {
var localData = new Array();
for ( var j in data[i].colors ) {
localData.push(data[i].colors[j]);
}
globalData.push(localData);
}
});
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是globalData只保留getJSON函数内部的值,并且在我需要它时,它只是空白(我在警报窗口中测试值).我也尝试在代码前面打开和关闭'var'.这里有什么问题吗?
你什么时候检查globalData?
两次对getJSON的调用都使用回调来操作globalData,因此在检查globalData之前可能还没有调用该函数.不要忘记你在那里使用异步javascript.
如果是这种情况,我建议使用功能链
function useGlobalData() {
alert(globalData);
//do other stuff
}
//
// Palettes
//
$.getJSON(colorLoversURL, function(data) {
for ( var i in data ) {
var localData = new Array();
for ( var j in data[i].colors ) {
localData.push(data[i].colors[j]);
}
globalData.push(localData);
useGlobalData();
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
159 次 |
| 最近记录: |