你可以使用像这样的独立式块......
var something = 1;
{
var something = 2;
print("Inside: " + something);
}
print("Outside: " + something);
来自:http://eloquentjavascript.net/chapter3.html#p3c7ae609
但是有这样的块有什么意义呢?它有什么用途?
答案 0 :(得分:3)
在ES6中,将会有let
声明的块范围变量,在这些变量中,独立的块将不再是无意义的。
答案 1 :(得分:3)
自由站块通常不会在脚本中添加任何值,但是可以用于代码组织,例如拆分方程式:
一行://long equations are hard to read
foo = bar * baz + fizz - buzz;
<子>块:子>
{
//this groups relevant information into a descrete section
foo = bar;
foo *= baz;
foo += fizz;
foo -= buzz;
}
虽然基于标准输入集执行操作的长方程通常会分解为它们自己的函数:
As Function:function qux(bar, baz, fizz, buzz) {
var ret;
ret = bar;
ret *= baz;
ret += fizz;
ret -= buzz;
return ret;
}
foo = qux(bar, baz, fizz, buzz);
答案 2 :(得分:1)
答案 3 :(得分:0)
你回答了自己的问题。来自OP中链接的文章:
事实上,虽然允许这样的块,但它们完全是这样的 没有意义的。