Jquery动态添加变量到另一个变量名



我定义了以下三个变量(仅作为示例):

window.myCirclePlayer_0 = ...
window.myCirclePlayer_1 = ...
window.myCirclePlayer_2 = ...

在我代码的其他地方(伪代码):

var index = 0 1 or 2; //index can be 0, 1 or 2, we don't know which yet

然后我想添加索引到窗口变量,以便它调用正确的方法。但这行不通。这样的事情可能发生吗?

window.myCirclePlayer_[index].doMethod();

您可以使用window['myCirclePlayer_' + index].doMethod(),但您应该考虑另一种方法。当你看到像foo_1foo_2这样的变量时,你可能应该使用数组。

你可以这样做:

var circlePlayers = [
  ...,
  ...,
  ...
];

那么你可以更自然地使用索引:

circlePlayers[index].doMethod();

您还可以添加更多circlePlayers,如:

circlePlayers.push(...);

我在上面的代码示例中只使用了...,因为这是您使用的。

最新更新