グローバル変数とローカル変数の範囲
var scope = "global";
function f(){
console.log(scope); // undefinedと表示
var scope = "local";
console.log(scope); //localと表示
}
console.log(scope); //globalと表示
f();
関数内で同じ名前の変数が宣言された場合、グローバル変数は ローカル変数に隠される。そしてその変数の宣言自体はどこに書いたとしても、関数全体で有効