Jquery 动态添加变量到另一个变量名
Jquery add variable to another variable name dynamically
我定义三个变量(仅作为示例)如下:
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 变量,以便它调用正确的方法。但这不起作用。这样的事情甚至可能吗?
window.myCirclePlayer_[index].doMethod();
您可以 window['myCirclePlayer_' + index].doMethod()
但您应该考虑另一种方法。当您看到像 foo_1
和 foo_2
这样的变量时,您可能应该使用数组。
你可以这样做:
var circlePlayers = [
...,
...,
...
];
然后您可以更自然地使用索引,例如:
circlePlayers[index].doMethod();
您还可以添加更多 circlePlayers
如:
circlePlayers.push(...);
我在上面的代码示例中只使用了 ...
,因为那是您使用的。
我定义三个变量(仅作为示例)如下:
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 变量,以便它调用正确的方法。但这不起作用。这样的事情甚至可能吗?
window.myCirclePlayer_[index].doMethod();
您可以 window['myCirclePlayer_' + index].doMethod()
但您应该考虑另一种方法。当您看到像 foo_1
和 foo_2
这样的变量时,您可能应该使用数组。
你可以这样做:
var circlePlayers = [
...,
...,
...
];
然后您可以更自然地使用索引,例如:
circlePlayers[index].doMethod();
您还可以添加更多 circlePlayers
如:
circlePlayers.push(...);
我在上面的代码示例中只使用了 ...
,因为那是您使用的。