Actionscript 3.0(我通常假定Javascript和ECMAScript)缺少对诸如int之类的本机类型的按引用传递。结果,我发现从一个函数中获取值确实很笨拙。解决此问题的正常模式是什么?

例如,是否有一种干净的方法在Actionscript中实现swap(intA,intB)?

最佳答案

我相信您能做的最好的就是将容器对象作为参数传递给函数,并更改该对象中某些属性的值:

function swapAB(aValuesContainer:Object):void
{
    if (!(aValuesContainer.hasOwnProperty("a") && aValuesContainer.hasOwnProperty("b")))
        throw new ArgumentError("aValuesContainer must have properties a and b");

    var tempValue:int = aValuesContainer["a"];
    aValuesContainer["a"] = aValuesContainer["b"];
    aValuesContainer["b"] = tempValue;
}
var ints:Object = {a:13, b:25};
swapAB(ints);

关于actionscript-3 - 在ActionScript 3.0中模拟传递引用的最干净方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49107/

10-09 07:14