Flash Player 5。
delete reference
reference
要消除的变量或对象的名称。
一个布尔值。
运算符;销毁由 reference
参数指定的对象或变量,如果该对象被成功删除,则返回 true
;否则返回 false
值。该运算符对于释放脚本所用的内存非常有用。虽然 delete
是一个运算符,但它通常作为语句使用,如下所示:
delete x;
如果 reference
参数不存在,或者不能被删除,则 delete
运算符可能失败并返回 false
。预定义的对象和属性以及用 var
声明的变量不能删除。不能使用 delete
运算符删除影片剪辑。
用法 1:下面的示例创建一个对象并使用它,然后在不再需要时删除它。
account = new Object();
account.name = '
Jon';
account.balance = 10000;
delete account;
用法 2:下面的示例删除对象的一个属性。
// 创建新对象“account”
account = new Object();
// 将属性名称分配给 account
account.name = 'Jon';
// 删除该属性
delete account.name;
用法 3:下面是删除对象属性的另一个示例。
// 创建长度为 0 的 Array 对象 my_array = new Array(); // 向数组中添加一个元素。Array.length 现在是 1 my_array[0] = "abc"; // 向数组中添加又一个元素。Array.length 现在是 2 my_array[1] = "def"; // 向数组中添加又一个元素。Array.length 现在是 3 my_array[2] = "ghi"; // my_array[2] 已被删除,但 Array.length 未被更改 delete array[2]; trace(my_array.length);
用法 4:下面的示例说明 delete
对于对象引用的行为方式:
// 创建一个新对象,并分配变量 ref1
// 来引用该对象
ref1 = new Object();
ref1.name = "Jody";
// 将引用变量复制到新变量中
// 并删除 ref1
ref2 = ref1;
delete ref1;
如果 ref1
尚未复制到 ref2
中,则当删除 ref1
时,该对象将被删除,因为将没有指向它的引用。如果删除 ref2
,则不再有指向该对象的任何引用;将销毁该对象,同时释放它所使用的
内存。