看板 Flash 關於我們 聯絡資訊
如果我是寫 addEventListener(事件, new function(E:事件):viod{ //要做的事 }); 和另一種寫法 addEventListener(事件, 函式); function 函式(E:事件):void{ //要做的事 } 在許多物件都要addEventListener的情況下 是不是第二種比較好? 因為第一種會變成每個物件有自己的function 第二種是讓每的物件指向相同的function 會這樣問是因為我覺得第一種很漂亮 所以通通都用了第一種 等到一次創造很多物件時 才發現會LAG... -- ◤ __ \__◢◤◢◤ ψhirabbitt ◤ ◢███◣ ◢███◣ 我不是m █████ █████ 我不是s ██ ███ 是溫柔 ██╱╲ ◥█████◣● 是傲嬌╱╱ ◥████ ˇ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.127.91 ※ 編輯: hirabbitt 來自: 163.13.127.91 (05/24 14:19)
aquarianboy:我覺得第二種比較漂亮說 :) 05/24 14:24
cjcat2266:第二種比較漂亮吧,第一種有種ad hoc的感覺 05/24 14:42
cjcat2266:而且第一種你需要自已保留function reference 05/24 14:43
cjcat2266:否則之後就無法remove event listener 05/24 14:43
cjcat2266:然後你的anonymous function就會變成orphan 05/24 14:43
cjcat2266:所占用的記憶體空間永遠無法被GC釋放掉 05/24 14:44
STARGAZERs:我想說... 你要不要乾脆把所有東西都寫成一個物件... 05/24 15:20
STARGAZERs:這樣應該比較漂亮也比較沒有簡潔的問題 05/24 15:21
hirabbitt:把所有東西都包在一個物件裡嗎 05/24 15:35
Assyla:第一種我只有在function要另外傳參數進去時才會用 05/24 15:45
peacedove:同樓上 05/24 16:50
hirabbitt:remove event listener是說delete嗎? 05/24 17:22
etrexetrex:如果函數很長 用第二種 05/24 18:06
etrexetrex:如果需要removeEventListener 用第二種 05/24 18:07
etrexetrex:第一種比較像是 jQuery 的寫法 05/24 18:08
hirabbitt:我大概是那種 覺得越複雜越漂亮的人... Orz 05/24 18:33
AizawaYuichi:寫成同一行看起來是很帥,可是有時候徒增困擾 05/24 19:08
etrexetrex:第一種比較像 jQuery, 第二種比較像C#,Java 05/24 19:18
etrexetrex:不過大部分寫 as3 的人都傾向於C#, Java 05/24 19:19
hirabbitt:可是我是反jQuery派的耶...(根本不想學 05/24 19:33
AizawaYuichi:第二種可以跑迴圈呼叫同一個function 05/24 22:07
AizawaYuichi:但是第一種跑回圈會占用多餘記憶體的樣子 05/24 22:07
hirabbitt:對啊 我就是用for去跑它 才發現會lag的... 05/25 05:45
StranGhost:第一種有好處喔 可以利用這方法傳Value 05/26 22:47
aquarianboy:第二種當然也行,所以那應該不算是好處 05/27 06:37
StranGhost:第二種要怎麼傳 是呼叫後再呼叫嗎 06/05 10:59