在我的ajax应用程序中,我试图使用一个递归函数,其中调用了另一个函数,它创建了一个全局变量,并且我想使用该变量在递归函数里面。但是,我遇到了麻烦,因为我无法在递归函数内部访问该全局变量(尽管如果我自己调用该函数,它是可用的)。下面是递归函数的代码。递归javascript/ajax函数:无法访问函数内设置的全局变量
ajaxCity.displayCell()设置一个window.cells []变量,它包含一个数组数组。这个想法是为每个数字调用tree()函数。
function tree (topCell) {
var ajaxCity = new Ajax();
ajaxCity.displayCell(topCell);
for (var i = 0; i < window.cells[topCell].cKids.length; i++) {
tree(window.cells[topCell].cKids[i]);
}
}
的window.cells []变量可后我运行函数一次,但我应该怎么改变的过程,这样它的作品比我想象的方式吗?
感谢您的帮助!
编辑:这是我得到的错误。
TypeError: window.cells[topCell] is undefined
,如果我再次调用树的功能,它会为一个工作,“级别”更深,然后再给出错误等
============== ==
谢谢James Montagne,正如你所指出的,问题是我需要等待ajax请求回来。再次感谢!