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

Javascript 如何将计数器变量添加到变量名?,javascript,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 = n

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

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”,但为了节省空间,我跳过了其余部分。也许是一个循环?如何将计数器添加到变量名称和引用id中?

您可以使用
for
循环为每个项目创建一个滑块。您可以在阵列中添加滑块实例,稍后再使用它

var options = {
    precision: 2,
    value: 5
};
var slider = [];

for (var i = 1; i <= 13; i++) {
    slider.push(new Slider("#survey" + i, options));
}
另一种方法是为所有元素指定一个公共类,并使用该类指定滑块。如上所述,这取决于
滑块的定义

var slider = new Slider(".slider", {
    precision: 2,
    value: 5
});

你可以这样说

var sliders = []
for (var i = 1; i <= 13; i++) {
    var slider = new Slider("#survey" + i, {
        precision: 2,
        value: 5
    });
    sliders.push(slider);
}
var滑块=[]
对于(var i=1;i尝试使用数组:

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);

您不能更改引用的id,但可以在加载页面之前使用php创建它

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

正如其他人所建议的,比数组更好的是使用对象:

var id = 'survey',
    sliders = {},
    i = 13;

do {
  sliders[id + i] = new Slider('#' + id + i, {
    precision: 2,
    value: 5
  });
} while(i--);

然后你可以使用你创建的对象:
sliders.survey1
sliders.survey2
等等!

你为什么要引入PHP?@Dave he是新来的,只是想帮忙。@sirmagid这些问题有“javascript”标签,所以用户只在寻找javascript解决方案。如果用户在寻找“PHP”和“javascript”如果你擅长php,点击页面顶部的“标签”,搜索php,提问。
var id = 'survey',
    sliders = {},
    i = 13;

do {
  sliders[id + i] = new Slider('#' + id + i, {
    precision: 2,
    value: 5
  });
} while(i--);