本文介绍了在 Actionscript 3.0 中模拟传递引用的最简洁方法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Actionscript 3.0(我假设一般是 Javascript 和 ECMAScript)缺少像 int 这样的本机类型的传递引用.结果,我发现从一个非常笨重的函数中取回值.解决此问题的正常模式是什么?

Actionscript 3.0 (and I assume Javascript and ECMAScript in general) lacks pass-by-reference for native types like ints. As a result I'm finding getting values back from a function really clunky. What's the normal pattern to work around this?

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

For example, is there a clean way to implement swap( intA, intB ) in Actionscript?

推荐答案

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

I Believe the best you can do is pass a container object as an argument to a function and change the values of some properties in that object:

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.0 中模拟传递引用的最简洁方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-15 02:46