在javascript:scope error上从多维数组中检索值?

时间:2013-08-30 14:41:10

标签: javascript arrays multidimensional-array scope global-variables

我试图做一个(非常简单的)搜索引擎来读取XML数据库,检查检索到的值是否与搜索条件匹配,然后将项目的ID添加到名为{{1}的全局变量中}。

我用这种方式声明了变量:

_result[][]

在.js文件的最开头,将由HTML引用。

当我要求警告循环内的var值时,它工作正常。当循环结束时,我做了另一个警告来测试结果是否仍在var _result = new Array(new Array()); ,在给定位置(即_result)并且它不起作用,var是未定义的。我认为这可能是一个范围问题,我无法解决它。这让我头疼的是:

_result[1][0]

也许没有必要说,但是,直到循环一切正常,XML连接,向数组添加值...问题是,当循环结束时,似乎它从未分配任何值到function search (target, term) {//where target is the XML´s tag name and term the search term conectXML();// a function that will connect to the XML var temp=null; var idTemp; var text =""; for (i=0;i<_XML.length;i++) { temp = _XML[i].getElementsByTagName(String(target))[0].childNodes[0].nodeValue; idTemp = _XML[i].getElementsByTagName("contract")[0].childNodes[0].nodeValue; if (temp === term) { _result[i] = [i, idTemp, temp]; } text = text + "</br>"+_result[i][1]; alert (_result[i][1]); // this works, it will alert _result[i][1] value. } alert (_result[0][1]); // this doesn´t works. It alerts nothing, and the var appears to be undefined. } 变量。

很抱歉,如果我在发帖时犯了任何错误,这是我的第一个问题。我已经阅读了其他答案,甚至从他们那里得到了一些解决方案,但是我无法解决这个问题,而且非常积极的我在var声明中错过了一些。

0 个答案:

没有答案