传递变量作为参考

时间:2012-09-25 12:27:43

标签: flash actionscript reference actionscript-2

我很难将变量传递给函数作为参考。这是我的代码的一部分,它是麻烦制造者:

onMouseDown = function ():Void
{
    mouseListener(openCategory, [control[current]]);
};

function mouseListener(callback:Function, callbackParams:Array):Void
{
    for (var index in categories)
    {
        var category:MovieClip = categories[index];
        if (category.hitTest(root._xmouse, root._ymouse))
        {
                control[current] = category;
                callback.apply(null, callbackParams);
        }
    }
}

现在我想要发生的是callback中存储的函数接收对control[current]的引用或至少它的最新值。实际发生的是control[current]的值传递给mouseListener

如何才能使此功能正常工作?

1 个答案:

答案 0 :(得分:0)

AS中的基元永远不会通过引用传递,您需要将其装入复杂类型并传递盒装值 - 这些值始终通过引用传递。在您的情况下,传递整个control,无论是什么,并在control[current]内阅读callback