javascript:我可以在switch cases中声明变量吗?

JavaScript: Can I declare variables inside switch cases?

本问题已经有最佳答案,请猛点这里访问。

在C语言中,不能在"case"语句中声明任何变量。

1
2
3
4
5
switch ( i ){
case 1:
  int a = 1; //error!
  break;
}

但是,在使用大括号时可以使用。

1
2
3
4
5
6
7
switch ( i ){
case 1:
  {// create another scope.
    int a = 1; //this is OK.
  }
  break;
}

在javascript的情况下,我可以直接在case语句中使用var吗?

1
2
3
4
5
switch ( i ){
case 1:
  var a = 1
  break
}

似乎没有错误,但我不相信这在语法上是正确的。


是的,在JavaScript中可以这样做,但我认为测试要简单得多:

小提琴

1
2
3
4
5
6
7
var i = 1;
switch ( i ){
case 1:
  var a = 1;
  alert(a);
  break
}