有没有办法创建变量,并在实际变量名的末尾添加ID?
我有一个名为'gauge'的变量,用于创建一个新的Gauge对象:
var gauge = new Gauge(target).setOptions(opts);
我想在变量中添加一个ID,如下所示:
var gauge+id = new Gauge(target).setOptions(opts);
这是因为我正在创建许多这些对象,并且每个对象都有一个特定的ID,如果可能的话我想附加到量规对象上?
这个函数的所有代码都在下面,如果它能让你更好地了解我需要做什么:
function go(id, votes)
{
var val = $('#votes_'+id).text();
var target = document.getElementById('foo_'+id); // your canvas element
var gauge = new Gauge(target).setOptions(opts); // create sexy gauge!
gauge.maxValue = 100; // set max gauge value
gauge.animationSpeed = 20; // set animation speed (32 is default value)
var a=votes+0.5;
gauge.set(val); // set actual value
}
我的主要问题出现在最后一行。它表示gauge.set(val),它只设置最后一个对象,忽略所有其他对象......
答案 0 :(得分:3)
你可以做到
window['gauge'+id] = new Gauge(target).setOptions(opts);
但使用数组或充当地图的对象通常会更好:
var gauges = {};
gauges[id] = new Gauge(target).setOptions(opts);
答案 1 :(得分:1)
为什么不直接使用数组:
var gauge = []; //this needs be declared at global scope
gauge[id] = new Gauge(target).setOptions(opts);
答案 2 :(得分:1)
您的解决方案很少。
在你的情况下,选项2是最好的。
Here您可以找到更多信息。
或者一个例子:
var counter = 1;
eval("var btn" + counter + "=123;");
alert(btn1);