伙计们,我有一个关于向 Flex 中的现有对象添加额外的名称-值对的问题;
我有一个对象类型的 object1,我声明了一个新的 object2 = object1 加上一些额外的名称-值对,有没有办法将新的名称-值对附加到现有对象?
非常感谢,
伙计们,我有一个关于向 Flex 中的现有对象添加额外的名称-值对的问题;
我有一个对象类型的 object1,我声明了一个新的 object2 = object1 加上一些额外的名称-值对,有没有办法将新的名称-值对附加到现有对象?
非常感谢,
如果我正确理解您的问题,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;
}