Javascript循环;获取当前变量
我正试着用它来绘制地图 我有以下代码片段:Javascript循环;获取当前变量,javascript,variables,loops,closures,Javascript,Variables,Loops,Closures,我正试着用它来绘制地图 我有以下代码片段: function selectall() { for (i in geodata['world']) { var q = getGeoPosition('world', i.toUpperCase(), 1654, 496, 1350, 407); shiftzoom.construct($('world'), [{ x: q.l, y: q.t,
function selectall() {
for (i in geodata['world']) {
var q = getGeoPosition('world', i.toUpperCase(), 1654, 496, 1350, 407);
shiftzoom.construct($('world'), [{
x: q.l,
y: q.t,
w: 40,
h: 40,
id: geodata['world'][i].lc,
pos: 0,
title: '',
href: "javascript:get_lake(i); ",
target: 'graphFrame',
src: 'images/bullet.gif'
}]);
cvi_tip.add(cvi_tip.$(geodata['world'][i].lc), '<small>Province:</small><br/><big><b><u>' + geodata['world'][i].ln + '</u></b></big><br/><small>LAT/LONG:</small><br/><big><b>' + geodata['world'][i].coord + '</b></big><br/><small>PROVINCE:</small><br/><big><b><i>' + geodata['world'][i].pr + '</i></b></big>');
}
}
但是我可能没有正确地使用它,因为这段代码没有运行。有人知道如何对其进行编码,以便函数调用当前变量而不是最后一个变量吗
谢谢从您的代码中我不清楚要更改什么,但是这个答案可能会有所帮助:
老实说,我不熟悉您正在使用的库,而且我发现您发布的代码非常混乱!缩进对可读性有很大帮助。无论如何,试试这个:
href:"javascript:get_lake("+i+"); ",
闭包在这里不起作用,因为你没有在那里创建函数:你在创建一个字符串。因此,将
i
的值连接到字符串中。只有在单击链接时才会对href
代码进行计算。到那时,变量i
将具有完全不同的值-如果它在该上下文中可用的话。。。你有很多东西要学,年轻的学徒…:-有解决这个问题的方法吗?我试着把它放在我的代码中,但是我的代码没有运行。对不起,代码太乱了。还有其他解决办法吗?
href:"javascript:get_lake("+i+"); ",