2012-04-05 30 views
0

乡亲, 我有一个关于在Flex中为我的现有对象添加额外的名称/值对的问题;如何在现有的柔性对象中添加额外的名称/值对

我有对象类型 的object1和我宣布一个新的对象2 = object1再加上一些额外的名称 - 值对, 是有办法的新名称 - 值对附加到现有的对象?

非常感谢,

回答

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; 
} 
相关问题