如何将计数器变量添加到变量名称?

时间:2015-09-22 04:09:30

标签: javascript

非常简单。这是我效率很低的代码:

var slider1 = new Slider("#survey1", {
    precision: 2,
    value: 5
})
var slider2 = new Slider("#survey2", {
    precision: 2,
    value: 5
})
var slider3 = new Slider("#survey3", {
    precision: 2,
    value: 5
})
var slider4 = new Slider("#survey4", {
    precision: 2,
    value: 5
})
var slider5 = new Slider("#survey5", {
    precision: 2,
    value: 5
})

我确信这可以更有效率地进行,它应该是“#survey13”但我跳过其余的以节省空间。也许是for循环?我怎样才能将计数器添加到变量的名称和引用的id?

3 个答案:

答案 0 :(得分:9)

你可以说像吼叫

var sliders = []
for (var i = 1; i <= 13; i++) {
    var slider = new Slider("#survey" + i, {
        precision: 2,
        value: 5
    });
    sliders.push(slider);
}

实际上,您的slider1sliders[0]slider2sliders[1],依此类推。

答案 1 :(得分:2)

尝试使用数组:

var sliders = [];
var cfg = {
   precision: 2,
   value: 5
};
for (var i = 1; 13 >= i; i++)
   sliders[i] = new Slider("#survey" + i, cfg);

如果您希望拥有命名变量,请转到对象:

var sliders = {};
var cfg = {
   precision: 2,
   value: 5
};
for (var i = 1; 13 >= i; i++)
   sliders['survey' + i] = new Slider("#survey" + i, cfg);

答案 2 :(得分:0)

您无法更改引用的ID,但您可以在加载页面之前使用php创建它

<?php
$i=0;
for($i;$i<n;$i++)
{
 echo 'var slider = new Slider("#survey'+$i+'", {
precision: 2,
value: 5
})';}
?>