基于全局变量增加变量

时间:2014-04-14 16:01:51

标签: javascript jquery

我想要做的是以下代码

$floorNo = 1; // current floor

if ($floorNo == 1){
  $number1++;
} else if ($floorNo == 2){
  $number2++;
} ...

是否有较短版本,例如($number+$floorNo)++;

4 个答案:

答案 0 :(得分:0)

您应该使用数组执行此任务:

var $numbers = [1, 2, 3, 4];

var $floorNo = parseInt(prompt("Enter number"), 10);

$numbers[$floorNo - 1]++; // `-1` as the array uses zero-based indexing

答案 1 :(得分:0)

一般来说,只要您有var1var2var3等,就应该使用array。例如:

$numbers = [0, 0, 0, 0];  // initialize your numbers

...    

$numbers[$floorNo - 1]++; // increment the number at the given 'floorNo'

另请注意,数组索引通常从零开始。

答案 2 :(得分:0)

您可以使用数组:

var arr = [1, 2, 3];
var floorNo = 1;
arr[floorNo]++; // = [1, 3, 3]

如果用户输入floorNo,您可以使用模运算符确保其有效:

arr[floorNo % arr.length]++; // = [1, 3, 3]

答案 3 :(得分:0)

您可以使用eval:

var $floorNo = 1,
    $number1 = 5;

try {
    eval('var $nValue = $number' + $floorNo.toString() + '++;');
    console.log(eval('$number' + $floorNo.toString()));
}
catch(e) {}

小心点。因为必须在使用eval之前定义变量$number1..N