如何设置增量变量名称的值?

时间:2011-05-25 13:57:20

标签: javascript

我有4个闪光时钟,显示不同的城市时间,我从我的php文件获得不同的4个城市时间。在我获得一个城市的新时间和分钟和秒后,它将信息发送给这样的函数:

 setFlashvar (hours,minutes,seconds);

所以我的函数会调用4次。现在我需要将4个不同的参数发送到我的闪存时钟,如下所示:

flashvars1 = {thisH:myH,thisM:myM,thisS:myS};
flashvars2 = {thisH:myH + 2,thisM:myM + 2,thisS:myS + 2};
flashvars3 = {thisH:myH + 4,thisM:myM + 4,thisS:myS + 4};
flashvars4 = {thisH:myH + 4,thisM:myM + 4,thisS:myS + 4};

使用不同的时间设置所有变量的最佳方法是什么?

提前感谢。

2 个答案:

答案 0 :(得分:3)

变量变量是不好的做法。改为使用数组。

flashvars = new Array();
flashvars[0] = {thisH:myH,thisM:myM,thisS:myS};
flashvars[1] = {thisH:myH + 2,thisM:myM + 2,thisS:myS + 2};
....

(或使用@Pointy演示的符号)

然后在循环中

flashvars[i]

答案 1 :(得分:1)

var flashvars = [
 {thisH:myH,thisM:myM,thisS:myS},
 {thisH:myH + 2,thisM:myM + 2,thisS:myS + 2},
 {thisH:myH + 4,thisM:myM + 4,thisS:myS + 4},
 {thisH:myH + 4,thisM:myM + 4,thisS:myS + 4}
];

现在使用“flasvars [0]”代替“flashvars1”。 (如果你想从1开始,那么你只需要在第一个对象值之前删除null。)

此外,空格是免费的: - )

以下是更新后的功能:

function setFlashvar (hours,minutes,seconds){
  flashvars.push({ thisH: hours, thisM: minutes, thisS: seconds });
}

这将为数组添加另一个对象。你不需要“i”,因为数组知道自己的长度。