ローカル変数とグローバル変数
var a = 10;
console.log(`var 1:${a}`); // 10
console.log(`var 2:${getNmbr()}`); // 99
function getNmbr() {
var a = 99;
console.log(`var 3:${a}`); // 99
console.log(`var 4:${window.a}`); // 10
console.log(`var 5:${this.a}`); // 10
return a;
}グローバル変数 (var宣言の場合)
- グローバル変数とローカル変数はメモリされる場所が異なる
- グローバル変数はwindowオブジェクトに保存される
- ページが開いている間ずっとメモリに残っている
ローカル変数 (var宣言の場合)
- 関数の中で宣言した変数のこと
- 関数の中でしか使えない。他の関数から更新されることがないので安全
- 関数実行終了後にメモリから削除される
- this.randomNumber または window.randomNumber でファンクションの中でグローバル変数を参照することが出来る
- thisで参照されるのはブラウザの場合はwindowオブジェクトになる。だからthis. と window. の両方で参照が出来る
const b = 10;
console.log(`const 1:${b}`); // 10
console.log(`const 2:${getNmbr2()}`); // 10
function getNmbr2() {
const b = 99;
console.log(`const 3:${b}`); // 99
console.log(`const 4:${window.b}`); // undefined
console.log(`const 5:${this.b}`); // undefined
return a;
}