JavaScriptでは、あなたはこのように、コードブロックコードで任意に置かれ、それらの前にそのようなif
、function
か何か、なし、つまり、孤独なコードブロックを持つことができます。Javascriptで孤独なコードブロックの目的は何ですか?
var a = 3,
b = 4;
{
a = 50;
b = 50;
}
alert(a + b); //alerts 100
を私はいくつかの他の言語を知っていますこれを持っている(私はC++と思う)、スコープ制御のためにそれを使用する:孤独なコードブロックの中で宣言された変数は、その外部にアクセスすることはできない。しかし、Javascriptはスコープではなく機能スコープを持っているので、自己実行機能(function(){})()
を使用して同じ効果を達成する必要があります。
この構造の目的はありますか?誰か見たことがありますか?スペックはそれに言及していますか?これはコードブロックに関する一般的な規則を持つ文法の副作用ですか?
仕様:http://ecma262-5.com/ELS5_HTML.htm#Section_12.1 –
は、私はあなたがこのコードが誤って、彼らはブロックスコープを取得したと思った誰かによって書かれた参照ほとんどの時間を考えます。スコープコントロールが与えられていないことを知っている一部の人は、ビジュアルグループが好きなので、それを使用しますが、スコープを意味するので、読者にはわかりません。 – nnnnnn
@FelixKlingは誰にでも分かります** ** ** ... – c69