![]() ![]() | |
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();// 将属性名称分配给 accountaccount.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";// 将引用变量复制到新变量中// 并删除 ref1ref2 = ref1;delete ref1;
如果 ref1 尚未复制到 ref2 中,则当删除 ref1 时,该对象将被删除,因为将没有指向它的引用。如果删除 ref2,则不再有指向该对象的任何引用;将销毁该对象,同时释放它所使用的
内存。
![]() ![]() | |