对ActionScript中clone()方法的了解

以前一直不理解clone()方法的用处,直到今天才理解。

1.clone()方法可以生成一个和已知对象一模一样的对象,以便新对象使用。新对象的改变,不会影响到原有对象。

例如:

 

  
    
1 var a:Point = new Point( 10 , 20 );
2 var b:Point = a;
3 b.x = 100 ;
4
5 trace( " a.x = " + a.x);
6 trace( " b.x = " + b.x);
7   // a.x = 100
8   // b.x = 100
9  
10 var c:Point = new Point( 10 , 20 );
11 var d:Point = c.clone();
12 d.x = 100 ;
13 trace( " c.x = " + c.x);
14 trace( " d.x = " + d.x);
15   // c.x = 10
16   // d.x = 100

2.使用clone()方法,会为新对象分配一块内存,所以所有对心对象的改变都不会改变原有对象。

 

 

 

 

var a:Point = new Point(10,20);
 var b:Point = a;
 b.x = 100;
 
 trace("a.x = "+a.x);
 trace("b.x = "+b.x);
 
 var c:Point = new Point(10,20);
 var d:Point = c.clone();
 d.x = 100;
 trace("c.x = "+c.x);
 trace("d.x = "+d.x);

你可能感兴趣的:(actionscript)