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