吉里吉里/tjs2解説

2重宣言


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

同じ名前の変数を2回宣言することもできます

// iを2回宣言してみる
var i = 1;
System.inform(i);
var i = 2;  // また宣言できる
System.inform(i);


変数iが再び宣言されると、それまでの変数iの中身は消えてしまいます
var i = 1;
System.inform(i);
var i; // 宣言だけをして初期化しない
System.inform(i);
2回目のSystem.inform(i);では何も表示されません
変数iには1が代入されていましたが、宣言される事でその中身が消されてしまったからです


var i = 1;
System.inform(i);  // 1が表示される
if(i == 1) {
    var i = 2;
    System.inform(i);  // 2が表示される
}
System.inform(i);  // 1が表示される
最初に変数iを宣言して1を代入しています
その次のSystem.inform(i);では当然1が表示されます
if文のブロックの中で再び変数iが宣言されていますが、これは最初に宣言されているグローバル変数iとは違う変数になります
次のSystem.inform(i);ではローカル変数iの中身の2が表示されます
同名の変数がある場合、グローバル変数よりもローカル変数の方が優先されます
ブロックを抜けるとローカル変数iは見えなくなるので、抜けた後ではグローバル変数iの中身の1が表示されます

更新履歴

取得中です。