您可以使用这样的独立积木......
var something = 1;
{
var something = 2;
print("Inside: " + something);
}
print("Outside: " + something);
这来自:http ://eloquentjavascript.net/chapter3.html#p3c7ae609
但是有这样的块有什么意义呢?它的用途是什么?
您可以使用这样的独立积木......
var something = 1;
{
var something = 2;
print("Inside: " + something);
}
print("Outside: " + something);
这来自:http ://eloquentjavascript.net/chapter3.html#p3c7ae609
但是有这样的块有什么意义呢?它的用途是什么?
在 ES6 中会有用 声明的块范围变量let
,在这些变量中,独立的块将不再毫无意义。
独立块通常不会在脚本中添加任何值,但是它们可以用于代码组织,例如拆分方程式:
一条线://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;
}
虽然,基于一组标准输入执行操作的长方程通常分解成它们自己的函数:
作为函数:function qux(bar, baz, fizz, buzz) {
var ret;
ret = bar;
ret *= baz;
ret += fizz;
ret -= buzz;
return ret;
}
foo = qux(bar, baz, fizz, buzz);
你是在自问自答。从 OP 中链接的文章:
事实上,虽然允许这样的块,但它们完全没有意义。