In ActionScript we cannot pass objects by value. It always passes  objects by reference. If you need to create a perfect copy of an object  you can make use of the following code. I have modified Flash Guru’s clone with support for Array Objects
[UPDATE] included the ActionScript 3 version as well 🙂 It became lot more simpler with the regular expressions
			
				 
		
			
				
					
			/*
 ************************************************************
   Developed by R.Arul Kumaran [[email protected]]
   for more code keep visiting [www.luracast.com/all/blog]
 ************************************************************
 */
 /*
Object.Clone creates a perfect copy of an object
Modified from FlashGuru's version to support Arrays
*/
/*
 Coming Soon...
 /*
		 
		
			/*
/*
 ************************************************************
   Developed by R.Arul Kumaran [[email protected]]
   for more code keep visiting [www.luracast.com/all/blog]
 ************************************************************
 */
 /*
Object.Clone creates a perfect copy of an object
Modified from FlashGuru's version to support Arrays
*/
Object.prototype.clone = function() {
        if (this instanceof Array) {
                var to = [];
                for (var i = 0; i