ホーム >> 左脳ActionScript3 >> リファレンス(仮) >> ステートメント >> forステートメント
forステートメント
繰り返し処理の基本的構文。forステートメントでは、繰り返し処理に重要な「繰り返しの初期化」「繰り返しの条件」「更新の記述」を含む。
処理そのものはwhileステートメントで書き換える事も可能。

  • 基本形

    
    for ( 初期化ステートメント ; 条件式ステートメント ; 更新ステートメント ) {
     サブステートメント;
    }
    
    ここで分りにくい場合があるのが、更新ステートメントの実行タイミングである。

    forステートメントのフローを細かく分解すると、以下のようになる。
    1. 初期化ステートメントの実行。
    2. 条件式ステートメントの判断。ここで条件を満たさない場合は、forステートメントの次へ処理が移る。
    3. forステートメントのサブステートメントの実行。
    4. 更新ステートメントの実行。
    5. 2へ戻る。
    更新ステートメントは、サブステートメントの後に処理される。
    また、条件式ステートメントで条件を満たさなければ、ループを一度も実行することなくforステートメントを抜ける事もある

  • breakステートメント

    forステートメントにおけるbreakステートメントは、サブステートメント内で、繰り返し処理を中断し、forステートメントを抜ける機能がある。
    ループがどのような状態であっても、forステートメントを抜ける。

  • continueステートメント

    上記breakステートメントとは対照的に、処理を中断し、即座に次のループ処理を開始する。
    
    for ( 初期化ステートメント ; 条件式ステートメント ; 更新ステートメント ) {
     サブステートメントA;
     continue;
     サブステートメントB;
    }
    
    continuteステートメントがある場合のフロー。以下のようになる。
    1. 初期化ステートメントの実行。
    2. 条件式ステートメントの判断。ここで条件を満たさない場合は、forステートメントの次へ処理が移る。
    3. forステートメントのサブステートメントの実行。
    4. continueステートメントにより、5へ。以降のサブステートメントBは実行されない。
    5. 更新ステートメントの実行。
    6. 2へ戻る。
    continueステートメント以降の処理は実行されない。一般的には、ifステートメントなどで条件分岐し、ループ毎に処理を分ける記述をされる事が多い。

  • inを使った記述

    Action Script、Java Script 等で、オブジェクトのプロパティを列挙する際に使用される特殊なforステートメント記述がある。
    
    for ( var キー:String in オブジェクト ) {
     サブステートメント;
    }
    
    この記述では、「var キー:String」の部分が初期化にあたる。キーには変数名を指定し、String型(文字列)を指定する(プロパティ名を文字列で管理している為)。
    サブステートメント内で、キーオブジェクトのプロパティ名を格納していて、プロパティの数だけ繰り返し処理をする。

    ただし、必ず全てのプロパティを列挙できるとは限らないので注意!


    オブジェクトのプロパティ列挙のサンプルコード。
    
    var a:Object    =   { A:"stringA", B:"StringB", C:12345 , Param:"Paramater!" };
    for (var key:String in a)
    {
        trace(key+" : "+a[key]);
    }
    
    以下、実行結果。
    
    Param : Paramater!
    A : stringA
    B : StringB
    C : 12345
    
    プロパティの順に関しては決まりや保障が無い。どのような順で列挙されるか分らない。
ホーム >> 左脳ActionScript3 >> リファレンス(仮) >> ステートメント >> forステートメント