[問題] 如何管理大量事件綁定、錯誤處理
我有個頁面要做許多事件綁定
最簡單的寫法是像這樣
window.onload = function() {
bind('.delete_button_1').(function() {});
bind('.delete_button_2').(function() {});
...etc
bind('.add_button_1').(function() {});
bind('.add_button_2').(function() {});
...etc
}
這樣寫雖然會動沒問題 但寫很多行這類的code看起來很雜 會不好維護
目前我是這樣改 嘗試模組化 (改法一)
window.onload = function() {
function initDelete() {
bind('.delete_button_1').(function() {});
bind('.delete_button_2').(function() {});
}
function initAdd() {
bind('.add_button_1').(function() {});
bind('.add_button_2').(function() {});
}
initDelete();
initAdd();
}
看起來是比較容易懂 但其實是有點沒必要的包裝
不過這麼做有個好處是 會比較容易做錯誤處理
比如delete是次要的功能 可以允許失敗 就可以try catch:
try {
initDelete();
} catch (e)
}
initAdd()
其實還有個改法二 寫註解區隔就好 >.<
/************************************************
* initDelete start
************************************************
*/
bind('.delete_button_1').(function() {});
bind('.delete_button_2').(function() {});
...etc
/*************************************************
* initDelete end
*************************************************
*/
1.但改法一二其實都不夠好 想知道還有什麼更好的寫法?
比如是不是可以用OO化的module pattern
定義delete, add為public function
再定義init()去load這些public function?
2.次要功能(可允許失敗) 建議全部用try catch包起來嗎?
還是最好都全部成功 不會有失敗的可能 就不用try catch
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.82.115.113
※ 編輯: tomin 來自: 115.82.115.113 (08/24 12:52)
→
08/24 13:04, , 1F
08/24 13:04, 1F
推
08/24 14:08, , 2F
08/24 14:08, 2F
→
08/24 21:18, , 3F
08/24 21:18, 3F
→
08/26 09:28, , 4F
08/26 09:28, 4F
→
08/26 09:28, , 5F
08/26 09:28, 5F
→
08/26 09:29, , 6F
08/26 09:29, 6F
→
08/26 09:30, , 7F
08/26 09:30, 7F
→
08/26 09:30, , 8F
08/26 09:30, 8F
→
08/26 09:31, , 9F
08/26 09:31, 9F
→
08/26 22:51, , 10F
08/26 22:51, 10F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 4 篇):