我有6个函数,名为callClip1,callClip2,callClip3等。
我曾计划在我需要的时候写出6个else / if语句来调用其中的每一个,但我认为它可能(可能)以另一种方式完成。我可以调用一个名为“callClip”的函数,并在我在其他地方设置的末尾添加一个变量吗?因此,如果变量设置为3,它会将callClip + 3放在一起并调用该函数吗?
由于
答案 0 :(得分:4)
这可以通过开关块完成:
用作: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]();
}
答案 1 :(得分:2)
除了Jason的回答,您还可以这样做:
// 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]();
}