• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AS3.0ですが、下記2つのコードの違いがわかりません。。)

AS3.0コードの違いとは?

このQ&Aのポイント
  • AS3.0のコードの違いを説明します。
  • コードの違いにより、取得できる値に違いが生じます。
  • 値を取得できる理由についても説明します。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.2

> つまり、配列の宣言と値の代入は > 分けて書くしかないのでしょうか? 普通に次のようにすれば良いと思います。 -------------------------------- var box:Array = new Array(); for (var j=0; j<1; j++) { box[j] = new Array(); for (var i=0; i<10; i++) { box[j][i] = i + j; } } trace(box[0][1]); --------------------------------  

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

ループをアンロールして考えると分かりやすいかも。 最初のコードはこんな動きをする: box[0]=new Array; box[0][0]=0; box[0]=new Array; box[0][1]=1; box[0]=new Array; box[0][2]=2; 次のコードは以下の動きをします: box[0]=new Array;box[1]=new Array;box[2]=new Array; box[0][0]=0; box[0][1]=1; box[0][2]=2; なので前のがundefになるのは確定的にあきらか。

参考URL:
http://yougo.ascii.jp/caltar/%E3%83%AB%E3%83%BC%E3%83%97%E3%82%A2%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0
reggaepunc
質問者

補足

なんとなくわかる気がしますが。。 つまり、配列の宣言と値の代入は分けて書くしかないのでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A