User Guide
144 Chapter 5: ActionScript Core Language Elements
Usage 3: The following example deletes an object property:
var my_array:Array = new Array();
my_array[0] = "abc"; // my_array.length == 1
my_array[1] = "def"; // my_array.length == 2
my_array[2] = "ghi"; // my_array.length == 3
// my_array[2] is deleted, but Array.length is not changed
delete my_array[2];
trace(my_array.length); // output: 3
trace(my_array); // output: abc,def,undefined
Usage 4: The following example shows the behavior of delete on object references:
var ref1:Object = new Object();
ref1.name = "Jody";
// copy the reference variable into a new variable
// and delete ref1
ref2 = ref1;
delete ref1;
trace("ref1.name "+ref1.name); //output: undefined
trace("ref2.name "+ref2.name); //output: Jody
If ref1 had not been copied into ref2, the object would have been deleted when ref1 was
deleted because there would be no references to it. If you delete
ref2, there are no references to
the object; it will be destroyed, and the memory it used becomes available.
See also
var