2

このように独立したブロックを使用することが許可されています...

var something = 1;
{
  var something = 2;
  print("Inside: " + something);
}
print("Outside: " + something);

これは、http: //eloquentjavascript.net/chapter3.html#p3c7ae609からのものです。

しかし、そのようなブロックを持つことのポイントは何ですか? それはどのような目的に役立ちますか?

4

4 に答える 4

3

ES6では、で宣言されたブロックスコープの変数があります。この変数ではlet、独立したブロックはもはや無意味ではありません。

于 2012-09-28T19:23:49.190 に答える
3

自立型ブロックは通常、スクリプトに値を追加しませんが、方程式を分割するなどのコード編成に使用できます。

1行:
//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);
于 2012-09-28T19:25:22.560 に答える
1

おっと、私は読み続けました、そしてここに私の答えがあります:

実際、このようなブロックは許可されていますが、まったく無意味です。

http://eloquentjavascript.net/chapter3.html#p6f53387f

于 2012-09-28T19:23:39.407 に答える
0

あなたはあなた自身の質問に答えました。OPにリンクされている記事から:

実際、このようなブロックは許可されていますが、まったく無意味です。

于 2012-09-28T19:24:11.330 に答える