【发布时间】:2015-12-15 07:40:09
【问题描述】:
在 C 语言中,不能在“case”语句中声明任何变量。
switch ( i ){
case 1:
int a = 1; //error!
break;
}
但是,当您使用大括号时,您可以。
switch ( i ){
case 1:
{// create another scope.
int a = 1; //this is OK.
}
break;
}
在 Javascript 的情况下,我可以在 case 语句中直接使用 var 吗?
switch ( i ){
case 1:
var a = 1
break
}
似乎没有错误,但我不确定这在语法上是否正常。
【问题讨论】:
-
简单的答案是是的
-
javascript es5 仅具有函数作用域,
a将是函数的本地,而不是开关 -
@Haketo 那么,Javascript 只能在全局和函数中具有作用域吗?
-
@PRIX 使用
var,是的。您可以在链接的帖子中看到许多示例 -
注意不能在不同的
casesbecause there is only one underlying block中声明同一个变量。
标签: javascript variables switch-statement case declare