作者tomin (弱水三千 只取一瓢饮)
看板Ajax
标题Re: [问题] 如何管理大量事件绑定、错误处理
时间Sun Aug 25 00:19:52 2013
※ 引述《grence (dalalida)》之铭言:
: : 1.但改法一二其实都不够好 想知道还有什麽更好的写法?
: : 比如是不是可以用OO化的module pattern
: : 定义delete, add为public function
: : 再定义init()去load这些public function?
: 拆成独立的 js档(眼不见为净XD
: 再看是用前端处理:
: window.onload=function(){
: getScript("add.js");
: getScript("delete.js");
: }
: 或是配合後端:
: <script src="combine?file=add.js,delete.js"></script>
: 这做法的前提是各 function彼此独立,不然考虑到载入、执行顺序又会很罗嗦。
: 不过我觉得原本的程式看起来不会很难维护…可能是 PO文的时候有简化过?
: 如果是懂 js但对原程式架构不熟的人,看到这种可以直接翻译的程式码反而比较单纯;
: 画面上看到 .delete_button_1,
: 要知道它做了什麽事就直接在程式码搜寻 ".delete_button_1"
拆档看起来很乾净 只是还是放同一个档方便:
1.维护的人只要搜一个档即可找到所有资讯
2.变数、function似乎要同个档才能互相引用
原本程式有简化过 不然code太长也不好阅读
我有漏讲一个问题 我试着将一些function归类:
function initForm() {
function addButton() {}
function deleteButton() {}
}
这样写视觉上是有分类的
但其实没必要这样包装 本来只有这样写
function addButton() {}
function deleteButton() {}
只是这样的function一多 就会觉得有点乱 想要将fn分群组
还是我fn命名上动手脚就好了? 例如都有个prefix
formAddButton
formDeleteButton
然後把同一类的摆近一点 似乎就够一目了然了
: : 2.次要功能(可允许失败) 建议全部用try catch包起来吗?
: : 还是最好都全部成功 不会有失败的可能 就不用try catch
: 我自己写 js很少用 try catch,即使没出错,浏览器的效能也会有影响,
: 有时候还会遇到奇怪的 bug
: 而且 js检查变数是否有值或是给预设值都很简单,
: function test(param, option){
: param = param || {};
: option && option.handler && option.handler();
: };
其实错误也只有拿不到node的问题 因为有时候DOM结构不如预期
拿不到node 只会拿到null/undefined 那我要嘛帮他初始化
要嘛检查拿到的东西是不是null,再往下跑?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 115.82.115.113
※ 编辑: tomin 来自: 115.82.115.113 (08/25 00:22)