delete
Availability
Flash Player 5.
Usage
delete reference
Parameters
reference The name of the variable or object to eliminate.
Returns
A Boolean value.
Description
Operator; destroys the object reference specified by the reference parameter, and returns true if the reference is successfully deleted; false otherwise. This operator is useful for freeing memory used by scripts. You can use the delete operator to remove references to objects. After all references to an object are removed, Flash Player takes care of removing the object and freeing the memory used by that object.
Although delete is an operator, it is typically used as a statement, as shown in the following example:
delete x;
The delete operator can fail and return false if the reference parameter does not exist or cannot be deleted. Predefined objects and properties, and variables declared with var, cannot be deleted. You cannot use the delete operator to remove movie clips.
Example
Usage 1: The following example creates an object, uses it, and deletes it after it is no longer needed:
var account:Object = new Object();
account.name = “Jon”;
account.balance = 10000;
trace(account.name);
delete account;
trace(account.name); //output: Jon undefined
Usage 2: The following example deletes a property of an object:
// create the new object “account”
var account:Object = new Object();
// assign property name to the account
account.name = “Jon”;
// delete the property
delete account.name;
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
related link in Macromedia livedocs
About this entry
You’re currently reading “delete,” an entry on multiplicité
- Published:
- Friday, August 13th, 2004 at 11:59 pm
- This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Korea.
- Author:
- vizualizer
- Category:
- techne
Similar Posts
- random color code in navigation menu
- kill the drawing of focus border on any component
- AS2 에서의 컨텍스트 메뉴 추가하기
- 연관배열의 선언(making associative array of generic object)
- SharedObject class
- MovieClipLoader class
- What’s new in action script v2_Array.sort() method
- xml 로딩 시 각 노드의 변수형
- for .. in
- nexgen flash player
No comments
Jump to comment form | comments rss