2010年2月19日 星期五

Delete 注意

SRC


下列範例會刪除物件的屬性:



// 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;
trace(account.name); // undefined

// delete a nonexistent property
var fooDeleted:Boolean = delete account.foo;
trace(fooDeleted); // true


下列範例會刪除陣列元素的值,length 屬性的值則不會變更:



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); // 3
trace(my_array); // abc,def,


下列範例說明如何將 delete 傳回的 Boolean
值當做條件,以供將來執行程式碼時使用。請注意,如果某個項目已遭到刪除,則針對該項目再次呼叫 delete 將會傳回 false¡C



var my_array:Array = [ "abc", "def", "ghi" ];
var deleteWasSuccessful:Boolean

deleteWasSuccessful = delete my_array[0];
if(deleteWasSuccessful) delete my_array[1];
deleteWasSuccessful = delete my_array[0];
if(deleteWasSuccessful) delete my_array[2];

trace(my_array) // outputs: undefined,undefined,ghi


沒有留言:

張貼留言