Re: [問題] 關於移除物件的問題

看板Flash作者 (CJ Cat)時間16年前 (2010/04/10 23:35), 編輯推噓5(508)
留言13則, 4人參與, 最新討論串2/2 (看更多)
※ 引述《yhn0tgb60 (呦厚厚)》之銘言: : 另外 as3的 delete 是用在什麼情況阿 好像很少看到人用 : 好像大多都是用 null....

04/10 11:09,
所以 delete是....什麼時候會用呢@@?我也想知道
04/10 11:09

04/10 19:24,
我記得之前看的說明好像是說delete沒辦法刪除區域變數
04/10 19:24

04/10 19:25,
不知道正不正確...
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)

04/11 00:23, , 1F
喔喔...好清楚XD
04/11 00:23, 1F

04/12 00:31, , 2F
原來要清除Dictionary要用delete阿 都用錯了 感謝cj
04/12 00:31, 2F

04/13 10:47, , 3F
那再請教一個問題 當我把一個class=null
04/13 10:47, 3F

04/13 10:49, , 4F
需要先將class裡面的 變數=null嗎
04/13 10:49, 4F

04/13 10:50, , 5F
還是當 class=null時 裡面的資源就全釋放了???
04/13 10:50, 5F

04/13 10:55, , 6F
甚至當我 unload一個 swf時
04/13 10:55, 6F

04/13 10:55, , 7F
是否需要先將裡面的class先 null???
04/13 10:55, 7F

04/13 10:56, , 8F
還是說當我 unload時 就已經全部釋放資源了 ???
04/13 10:56, 8F

04/13 11:25, , 9F
不需要全部null,無法存取的物件自成一個"島(island)"
04/13 11:25, 9F

04/13 11:26, , 10F
garbage collector會把island全部清除
04/13 11:26, 10F

04/13 11:26, , 11F
island可以看成是一大塊orphan
04/13 11:26, 11F

04/13 11:26, , 12F
orphan(孤兒)意即無法存取的物件
04/13 11:26, 12F

04/13 13:35, , 13F
謝謝 ^^
04/13 13:35, 13F
文章代碼(AID): #1Bm9h0Pf (Flash)
討論串 (同標題文章)
文章代碼(AID): #1Bm9h0Pf (Flash)