今天遇到两个问题,可能是因为最近看小说或者玩游戏时间长,耽搁了两个月的学习。脑子不好使了,卧槽。
第一个问题,一个页面comm_rate被默认为0,但是行方要求comm_rate应该有值,最低为0.2。因为comm_rate
是随着栏位maturity_dt被计算赋值。所以以前考虑0是因为是maturity_dt栏位为空,所以comm_rate没值。
我的解决方案,很lou, 直接这样写
if(document.MAINFORM.maturity.value){
document.comm_rate.value=0.2;
}
粗心了,仔细看,条件被我搞错了,这下所有的comm_rate都是0.2了,应该加个 ' ! ',丑,丑,丑!
就算加上! 后也
是不对的,因为这个计算是根据表格中的mini_period,以前写值被我默认改成0。因为这个comm_rate比较特殊每个季度收
费,所以要mini_period赋值为1;
第二个问题,算是有点技术的,comm_rate被赋值计算了,因为页面这个现实没必要计算。
1、我首先去当前页面JS查找comm_rate被赋值的计算,这个没有;
然后去这个业务的上层模组JS中查,发现也没有计算comm_rate;
最后我去系统JS中查找comm_rate计算,找到了几个。可以确定是这里的JS被调用了计算。涉及comm_rate的计算
函数,见鬼了!竟然在页面JS找不到被调用的情况。绝对是系统JS函数里嵌套了,然后被当前页面调用计算。
2、好了,我用另一个思路,去查这个comm_rate是不是前手计算被赋值了,然后通过几个做过的账号对比,发现上一步的
comm_rate有的没有值,值是0.2 || 1.0 || 0.125,到了这一步的值基本上都是1.25或者0.5。所以可以确定绝对是当前页面
函数调用。
到这一步,没解决问题,一脸懵逼,只好继续排查系统JS被调用的情况,发现5个涉及comm_rate计算的函数,只有a
函数(化名)被其他函数调用,但是a却没被页面JS中调用过。
再回到页面JS中排查系统函数,发现有三处吊用过系统JS,上面说的5个涉及comm_rate计算的函数都没被调用过,没法
搞了。这下到死局了!
今天的收获就是:新思路,我可以试着对页面的两个系统JS函数分别进行注释,查看comm_rate的情况。这样就可以发现是
哪里的问题。感谢我的组长杨静,真是做了多年的老师傅,经验真是强。自己花了两个小时没找到问题,不如别人十分钟搞定问题。
我要端正好心态,以后争取多多学习,少玩游戏,少看小说,多动动脑子!
有时解决不了问题,追溯不到原因,可以跳出来,直接试着把可能出现的代码进行注释调试下,说不定有惊喜!事半功倍!