{}内のスコープでのみ有効な変数の宣言方法

JavaScriptでは、Javaと異なり、括弧({})によるスコープ定義というものはない。
スコープを定義できるのは関数なのだ。

例えば、下記のコードでは、順番に1,2,2と表示される。

var x=1;
alert(x);

{
 //ここで宣言した変数は{}内でのみ有効とはならない
 var x = 2;
 alert(x);
}

alert(x);