我:“美女 帮我测一下”(自信满满的,感觉一个星期的努力,现在各种需求都已实现)。
美女:“好的”。
......
美女:“哎 怎么报错了?”
我:“怎么可能呢?”(小心脏狂跳)
——过去一看,果然报错,假装没事,回去赶紧找错!
美女:“哎,这个怎么不能删除呢?”
我:“好的,我看看啊”(果然删不掉)
......(修改小B中)
小B(one):
此处报错,是由于从后台返回的json数据中,有一项数据没有值,导致相应变量没有获得值,报变量的null错。虽然是服务端的数据问题,可是怎么才能预防这种数据的空白现象,让程序变的更稳定,更强壮。
首先想到的就是对返回的数据进行判断,如果有值,也就是“真”,那就执行接下来的代码,如果为“假”,则跳出,将能避免出现空值的错误。这种事最终还是的和服务端多沟通,做两手准备。
小B(two):
这个小B就是针对上面对话中的删不掉写的,以前没有遇到过这种情况,找了半天,果然是前端的问题,主要是自己编码的不严谨问题。为了注意浏览器的性能问题,在一个div中需要大量的事件(最多的是click),就会采用事件代理的方式来处理相应的事件,问题就出在这儿,给大家展现一下源码:
this.ar_role.onclick = function(e){
var ev = com.event.getEvent(e);
var target = com.event.getTarget(ev);
if(target.obj){
var role_id = target.obj.id;
var user_id = id;
此代码中,target中的obj对象,并不是所有点击对象都有obj对象,所以导致点击出事件目标对象外的其他目标都会报错,解决办法就是用强大的if。
哇塞 快下班了 周报还没发了 !