Javascript切换全局变量

时间:2016-02-15 14:16:36

标签: javascript scope switch-statement

我正在尝试使用带有switch语句的全局变量,但变量的值不会改变。也许是范围问题?

我需要一个switch语句来逐个遍历每个case,但是每次我在控制台中查看时,“i”变量都会保持重置为1。

为什么会这样?

代码

var i = 0;

switch(i){
    case 0:
        i+=1;
        console.log(i);
        break;
    case 1:
        i+=1;
        console.log(i);
        break;
}

依旧......

编辑:以下所有人的大力支持,非常感谢。

2 个答案:

答案 0 :(得分:2)

这样做,因为开关的工作方式如下:

  1. 在迭代之前,它会存储您的情况。
  2. 之后需要做出决定。
  3. Switch不像"使用async",它在调用时只运行一次。

    您可以使用循环来解决此问题。

答案 1 :(得分:-2)

使用:

switch (Number(i)) {
  // cases
}

我遇到了同样的问题并且已经纠正了一次,但已经忘记了。