→ Lawnchern:所以 delete是....什麼時候會用呢@@?我也想知道 04/10 11:09
推 terrylchen:我記得之前看的說明好像是說delete沒辦法刪除區域變數 04/10 19:24
→ terrylchen:不知道正不正確... 04/10 19:25
要清除一個 myVar 變數儲存的reference
寫法就是 myVar = null
區域變數沒有清除不清除的問題
凡是跳出該區域變數的scope之後
自然該變數就被消除了
delete的用法主要是針對清除以下資料用的
1. dynamic class物件的dynamic property
Object class就是一個dynamic class
所以可以有以下的dynamic property宣告寫法
var obj:Object = new Object();
obj.something = true;
寫 obj.something = null 是無法清除 obj.something 這個變數的
因為 obj.something 這個變數還在
只是儲存的值為 null
要一了百了的消除 obj.something 這個dynamic property
正確的寫法是
delete obj.something;
2. Dictionary物件的key-value pair
建立Dictionary物件的key-value pair寫法如下
var dic:Dictionary = new Dictionary();
dic[myKey] = myValue;
而清除此key-value pair資料的寫法是
delete dic[myKey];
清除一整個Dicitonary物件的key-value pairs的寫法則是
for (var key:* in dic) {
delete dic[key];
}
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Blog http://cjcat.blogspot.com
Gallery http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.26.26
※ 編輯: cjcat2266 來自: 118.168.26.26 (04/10 23:37)
推 terrylchen:喔喔...好清楚XD 04/11 00:23