as 的值传递及克隆

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="initApp();">
	<mx:Script>
		<![CDATA[
		private var arr:Array 
		private function initApp():void{
			arr =  new Array(13,3,89,5,2,7,89);
			arr.sort(Array.DESCENDING | Array.NUMERIC);
			list1.dataProvider = arr;
			var arr2:Array = arr;
			lbl.text = lbl.text + arr2.toString();
		}
			
		 private function clone(source:Object):*
         {
                var myBA:ByteArray = new ByteArray();
                myBA.writeObject(source);
                myBA.position = 0;
                return(myBA.readObject());
         }
		
	
		private function onClick2():void{
			var arr2:Array = this.clone(arr);
			arr2.reverse();
			list2.dataProvider = arr2;
		}
		
		private function onClick3():void{
			var arr3:Array = arr;
			arr3.reverse();
			list3.dataProvider = arr3;
			list1.dataProvider = arr;
		}
		]]>
	</mx:Script>
	<mx:VBox>
		
		<mx:ControlBar id="cb" horizontalGap="1">
			<mx:Button id="B" label="A2" click="onClick2();"/>
			<mx:Button id="C" label="A3" click="onClick3();"/>
		</mx:ControlBar>
		<mx:Label id="lbl" text="原始数组为:"/>
		<mx:HBox>
			<mx:List id="list1"  width="100" height="200"/>
			<mx:List id="list2" width="100" height="200"/>
			<mx:List id="list3" width="100" height="200"/>
		</mx:HBox>
	</mx:VBox>
</mx:Application>

  上面的代码中主要使用下面的方法处理clone问题:

 private function clone(source:Object):*  
 {  
      var myBA:ByteArray = new ByteArray();  
      myBA.writeObject(source);  
      myBA.position = 0;  
      return(myBA.readObject());  
 }  
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值