MDN 关于 JavaScript 块的文章给出了这个例子:
var x = 1;
{
var x = 2;
}
alert(x); // outputs 2
如您所见,JavaScript 没有块作用域。那么 JavaScript 中的独立块有什么好的用例吗?
“独立”是指不与控制流语句(if
、for
、while
等)或function
.
MDN 关于 JavaScript 块的文章给出了这个例子:
var x = 1;
{
var x = 2;
}
alert(x); // outputs 2
如您所见,JavaScript 没有块作用域。那么 JavaScript 中的独立块有什么好的用例吗?
“独立”是指不与控制流语句(if
、for
、while
等)或function
.
我知道它们的唯一用途是标签:
myBlock: {
// stuff
if (something) break myBlock // jump to end of block
// more stuff
if (somethingElse) continue myBlock // jump to beginning of block
// blah blah blah, more stuff
}
(几乎就像一个goto
,最好小心猛龙队)
不用说,这是一个非常糟糕的主意。所以基本上,什么都没有;只是不要使用它们。
(旁注:ado { /* stuff */ if (something) break; /* stuff */ } while (false)
可以做同样的事情)