【发布时间】:2019-10-17 10:08:52
【问题描述】:
我想使用另一个函数的变量(数组)。我已经在全局范围内定义了它,但是它不起作用..
这是我的代码以便更好地理解:
var globalData = '';
var data = '';
$.getJSON('https://...' + data[x].id + '.json', function(data) {
globalData = data;
data = globalData.name;
console.log(data); // works just fine
if (condition === 1) {
function2(); // calls this function
} else {
function3();
}
});
function function2() {
console.log(data); // just an empty line
console.log(globalData); // UPDATE: works just fine
}
【问题讨论】:
-
虽然我的第一个想法是这是一个异步问题,但我不认为它是 -
function2确实在回调内部调用。我认为问题是由于data变量的阴影 -
@Tony - OP 确实在回调中调用该函数。
-
@RobinZigmond 感谢您的回复。在我的示例中如何解决这个问题?
-
这不是异步问题。我会为你重新提问并回答这个问题。
-
function(data) {
标签: javascript jquery arrays function variables