我定义了以下三个变量(仅作为示例):
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_1
和foo_2
这样的变量时,你可能应该使用数组。
你可以这样做:
var circlePlayers = [
...,
...,
...
];
那么你可以更自然地使用索引:
circlePlayers[index].doMethod();
您还可以添加更多circlePlayers
,如:
circlePlayers.push(...);
我在上面的代码示例中只使用了...
,因为这是您使用的。