在AS3中复制变量

时间:2009-09-10 00:02:44

标签: actionscript-3 clone

我正在尝试在ActionScript中交换两个变量。

我尝试使用:

a = 42
b = 50

tempvar = a
a = b
b = tempvar

切换,但这不起作用,因为变量仍然引用原始值,所以如果我设置b = a,然后更改a,b也会发生变化。

在ruby中,你有clone(),但我不知道AS3的类似方法。

帮助?

2 个答案:

答案 0 :(得分:2)

var tempvar:uint = new uint(a);
a = new uint(b);
b = tempvar;

答案 1 :(得分:2)

以下工作正常。你肯定没有显示所有代码吗?

import flash.display.Sprite;
public class SwapTest extends Sprite
{
    public function SwapTest()
    {
        var a:int=42;
        var b:int=50;
        var temp:int=a;
        a=b;
        b=temp;
        trace("a="+a);
        trace("b="+b);
    }
}

痕量

a=50
b=42

无需克隆。即使是下面的无类型代码,更接近您的示例也会提供相同的输出:

        var a=42;
        var b=50;
        var temp=a;
        a=b;
        b=temp;
        trace("a="+a);
        trace("b="+b);

你是如何宣布a,b和tempVar的?这是时间表代码吗?