「2重宣言」(2007/10/28 (日) 11:36:10) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
同じ名前の変数を2回宣言することもできます
>&italic()// 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が表示されます
同じ名前の変数を2回宣言することもできます
>&italic()// 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が表示されます
表示オプション
横に並べて表示:
変化行の前後のみ表示: