我一直在想,在定义变量之前,是否可以在JS中使用它,如下所示:
var country = "USA";
switch (country) {
case "USA":
country = i;
case "blach":
//not finished yet
}
/*
put a whole
bunch more code here
*/
var i = 10;
这是有效的吗?是允许的吗?如果是这样,它的技术术语是什么?
发布于 2013-11-26 23:18:57
这些人的答案是正确的。但是,对于您的示例,值得注意的是country
是undefined
。正如aspillers所提到的,代码的行为如下所示
var country;
var i;
country = "USA";
switch (country) {
case "USA":
country = i;
case "blach":
//not finished yet
}
i = 10;
alert(country) //undefined;
但是当您的case
语句运行"USA“时,i
是未定义的,所以它被分配给country
。在此fiddle中尝试。
我猜您只需要知道,虽然变量声明被提升了,但赋值却没有。
https://stackoverflow.com/questions/20220862
复制相似问题