1

callClip1、callClip2、callClip3 などと呼ばれる 6 つの関数があります。

必要に応じてこれらのそれぞれを呼び出す 6 つの else/if ステートメントを書き出すことを計画していましたが、(おそらく) 別の方法で実行できると考えました。「callClip」という関数を 1 つ呼び出して、別の場所で設定した変数を最後に追加できますか? では、変数が 3 に設定されている場合、callClip + 3 をまとめてその関数を呼び出すのでしょうか?

ありがとう

4

2 に答える 2

4

これは、switch ブロックを使用して実行できます。

使用されます: callClip(1);

function callClip(number:int):void
{
    switch(number)
    {
        case 1:
            callClip1();
            break;
        case 2:
            callClip2();
            break;
        case 3:
            callClip3();
            break;
        case 4:
            callClip4();
            break;
        case 5:
            callClip5();
            break;
        case 6:
            callClip6();
            break;
    }
}

お勧めしませんが、これは次のように実装することもできます。

function callClip(number:int):void
{
    this["callClip" + number]();
}
于 2012-07-04T00:34:38.387 に答える
2

ジェイソンの答えに加えて、これを行うこともできます:

// Store references to each method.
var methods:Vector.<Function> = new <Function>[
    callClip1, callClip2, callClip3,
    callClip4, callClip5, callClip6
];


// Call relevant callClip function.
function callClip(num:int):void
{
    methods[num-1]();
}
于 2012-07-04T01:02:55.860 に答える