まずは、ConquestArrowさんのエントリ「AS3のスコープとint/uint型の宣言で基本的なところが解っていなかった件」を見て欲しい。 ここで重要なのは、「ActionScriptのローカル変数は、関数単位で管理されている」ということ。ブロック単位とかスコープ単位じゃありません。関数ユニークなので、同じ関数内で同名のローカル変数を宣言すると、ブロックが違っていても、「重複してる」とか言ってコンパイラに怒られるわけですね。 実際、JITの結果なんかを見てると、全てのローカル変数は、宣言(var)位置に関係なく、その関数に入る時に全て初期化され、returnするまでずっと生きてるようなコードが生成されている気がします(ちゃんと調べてないので曖昧にしとく)。ちなみに、ローカル変数は特別に、「レジスタ」と呼ばれる超高速にアクセスできる領域に格納されてます。更に、ローカル変数の中でも若