>>484
悪いが仕様を語るならまず仕様を読め。
「同じ変数が上位のスコープにあったらそれを隠蔽するという仕様」とやらで

alert(a)
var a = "A"



alert(a)
a = "A"

の振る舞いの違いを説明してくれ。

>>486
何を言いたいのか解らんがJavaScriptも変数宣言は環境ローカルしかないぞ。