単純な関数宣言のコーディング中に、Firefox Scratchpad で奇妙な動作が発生します。
console.log(x);
var x = 0;
var func = function() {
console.log(y);
var y = 1;
};
func();
上記のコードを Run で初めて実行すると、次のような結果が得られました。
未定義未定義
しかし、2回目に実行すると、以下の結果が得られました:
0 未定義
したがって、値をキャッシュに保存する必要があると想定しましたが、変数 y がまだ未定義ではないのはなぜですか?
また、Reload と Run で繰り返したところ、最初の結果が繰り返されました。