0

Flex の既存のオブジェクトに名前と値のペアを追加することについて質問があります。

Object Type の object1 があり、新しい object2 = object1 といくつかの追加の名前と値のペアを宣言しています。既存のオブジェクトに新しい名前と値のペアを追加する方法はありますか?

どうもありがとう、

4

1 に答える 1

0

あなたの質問を正しく理解できれば、object2 は object1 への参照ポインタです。したがって、object2 への変更は object1 に影響します。

package
{
    import flash.display.Sprite;

    public class X extends Sprite
    {
        public function X()
        {
            var object1:Object = {a: "1", b: "2"};

            var object2:Object = object1;

            object2.c = 3;

            trace("Object 2:");
            for (var name:String in object2)
            {
                trace("Name: " + name + " = " + object2[name]);
            }

            trace("Object 1:");
            for (var name:String in object1)
            {
                trace("Name: " + name + " = " + object1[name]);
            }
        }
    }
}

...出力:

Object 2:
Name: a = 1
Name: c = 3
Name: b = 2
Object 1:
Name: a = 1
Name: c = 3
Name: b = 2

オブジェクトまたは動的クラスを複製できるかどうかを尋ねる場合は、次のような関数を使用できます。

public function cloneObject(object:Object):Object
{
    var newObject:Object = {};

    for (var name:String in object)
    {
        newObject[name] = object[name];
    }

    return newObject;
}
于 2012-04-05T20:00:38.813 に答える