【发布时间】:2012-02-16 03:55:03
【问题描述】:
每当我尝试运行类似以下内容时,firebug 都会在“for (var i=0 ...”) 行告诉我“标记未定义”
但我在右上角将标记声明为全局变量...?
var markers;
function load() {
$.get("phpsqlajax_genxml.php", function(data) {
markers = data.documentElement.getElementsByTagName("marker");
});
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name")
//do more stuff
}
}
但是当我这样做时,它会起作用。
var markers; function load() { $.get("phpsqlajax_genxml.php", function(data) { markers = data.documentElement.getElementsByTagName("marker"); makeMarkersWithXMLinfo(); }); function makeMarkersWithXMLinfo() { for (var i = 0; i < markers.length; i++) { var name = markers[i].getAttribute("name") //do more stuff } } }
我什至没有将“标记”作为参数传递给我的 makeMarkersWithXMLinfo() 函数。但它仍然有效。这是怎么回事?谢谢
【问题讨论】:
标签: javascript variables loops callback scope