Flash 将参数传递给函数引用?
我正在尝试编写一个性能测试函数,它可以接受任何函数,运行X次,并说出该函数在AS3中运行的时间。如果一个函数不带任何参数,我已经让它工作得很好了,但是它会出现错误 代码如下:Flash 将参数传递给函数引用?,flash,actionscript-3,Flash,Actionscript 3,我正在尝试编写一个性能测试函数,它可以接受任何函数,运行X次,并说出该函数在AS3中运行的时间。如果一个函数不带任何参数,我已经让它工作得很好了,但是它会出现错误 代码如下: public static function testFunction(targetFunction : Function, object : Object, ... parameters) { var iterations : int = 10000; var i : int = 0; var t
public static function testFunction(targetFunction : Function, object : Object, ... parameters)
{
var iterations : int = 10000;
var i : int = 0;
var time0 : Number = 0;
var time1 : Number = 0;
if (parameters.length == 0)
{
time0 = getTimer();
for (i = 0; i < iterations; ++i)
{
targetFunction();
}
time1 = getTimer();
}
else
{
time0 = getTimer();
for (i = 0; i < iterations; ++i)
{
targetFunction.call(object, parameters);
}
time1 = getTimer();
}
trace("Took " + (time1 - time0) + "ms to complete " + iterations + " iterations");
}
公共静态函数testFunction(targetFunction:function,object:object,…参数)
{
var迭代次数:int=10000;
变量i:int=0;
变量时间0:Number=0;
变量时间1:Number=0;
如果(parameters.length==0)
{
time0=getTimer();
对于(i=0;i
这很好:
testFunction(timelineMethod)
但是像这样的事情:
testFunction(game.addGameState,game,gameState);//游戏状态将是参数
抛出这个:
TypeError:错误#1034:类型强制失败:无法将[]@2f46491转换为g2d.GameState。
在功能上/
看起来游戏或游戏状态不是有效的实例,但它们确实是。所以我假设它不知何故不知道要测试的方法属于什么对象,也不知道它抛出了这个错误
有什么想法吗?
函数。调用
需要一个参数列表,与正常调用函数一样
如果要传递参数数组,应使用函数。改为应用