2016-06-09 171 views
-5

我想优化我的代码有点因为它的问题有时不工作。 我使用3个变量来设置3个其他变量的状态。而不是赖特代码3次我想使用另一个变量(如(我))来设置哪一个当前活跃,但我不断收到错误。我试图寻找答案,但我可以找到任何例子。JavaScript中使用变量名称()

代码:

var position(1) = a; 
var position(2) = a; 
var position3(2) = a; 
var input(1) = 250; 
var input(2) = 0; 
var input(3) = 0; 
var i = 1; 
while (z <= 3) { 

if (input(i) <= minvalue + range){ 
position(i) = a; 
} 
if (input(i) <= (minvalue + (range*2)) && input(i) >= (minvalue + range)+1){ 
position = b; 
} 
if (input(i) <= (minvalue + (range*3)) && input(i) >= (minvalue + (range*2))+1){ 
position = c; 
} 
if (input(i) <= (minvalue + (range*4)) && input(i) >= (minvalue + (range*3))+1){ 
position(i) = d; 
} 
if (input(i) <= (minvalue + (range*5)) && input(i) >= (minvalue + (range*4))+1){ 
position(i) = e; 
} 
if (input(i) <= (minvalue + (range*6)) && input(i) >= (minvalue + (range*5))+1){ 
position(i) = f; 
} 
if (input(i) <= (minvalue + (range*7)) && input(i) >= (minvalue + (range*6))+1){ 
position(i) = g; 
} 
if (input(i) <= (minvalue + (range*8)) && input(i) >= (minvalue + (range*7))+1){ 
position(i) = h; 
} 
if (input(i) <= (minvalue + (range*9)) && input(i) >= (minvalue + (range*8))+1){ 
position(i) = i; 
} 
if (input(i) <= (minvalue + (range*10)) && input(i) >= (minvalue + (range*9))+1){ 
position(i) = j; 
} 
if (input(i) <= (minvalue + (range*11)) && input(i) >= (minvalue + (range*10))+1){ 
position(i) = k; 
} 
if (input(i) <= (minvalue + (range*12)) && input(i) >= (minvalue + (range*11))+1){ 
position(i) = l; 
} 
if (input(i) <= (minvalue + (range*13)) && input(i) >= (minvalue + (range*12))+1){ 
position(i) = m; 
} 
if (input(i) <= (minvalue + (range*14)) && input(i) >= (minvalue + (range*13))+1){ 
position(i) = n; 
} 
if (input(i) <= (minvalue + (range*15)) && input(i) >= (minvalue + (range*14))+1){ 
position(i) = o; 
} 
if (input(i) >= maxvalue) { 
    position(i) = p; 
} 
document.getElementById("slider" + (i)).style.top= position(i); 
z = z+1; 
} 
} 
+0

嗯,是的,var position(1)= a'是无效的语法。你正试图给函数调用分配一些东西,这没有任何意义。我不确定你想用这个做什么。 – deceze

+0

我试图设置输入(1)为一个数字,2和3相同。使用我来代替1,所以我可以在所有3个变量上运行相同的脚本,而不需要显示3倍的代码。基本上,代码太长,页面在脚本完成运行之前完成加载,所以默认位置为a。 – AceScottie

回答

3

variable_name()是你如何调用一个函数。

如果您想要获取数据集合,请使用对象(对于任意名称)或数组(对于有序列表)。

var position = [a, a, a]; 
var i = 0; // Note arrays are zero indexed 
console.log(position[i]); 
+0

谢谢。我甚至没有想过使用和array作为变量var。 – AceScottie