::

同じ変数名をグローバルとローカル両方で存在するとローカルが優先されます
でも、グローバルを使いたい時だってあるんです
C++でいう
::x
みたいなのはjavascriptではどうするのか、色々調べてもみつからなくなんとなく
window.x
とか動きそう と思いつきでやってみると動いた

xをグローバルとローカル両方で宣言した変数名としてます

ローカルの変数アクセス
x;
グローバル変数アクセス
window.x; 

sample
var x = "global";
(function(){
var x = "local";
alert(x);
alert(window.x);
})();