巧妙小思想

var showBoxNum = 0;

function hhh() {

.......

if (nMS <= 0){

  if (1 != showBoxNum){

    // 这是个弹窗!类似alert弹窗
             showBox('提示','活动结束,感谢参与!竞价结果将另行通知!','alert');
         }
         showBoxNum++;

......

}

hhh() 一开始就被调用了2次,以后可能还要调n次,未知。一开始调用2次是没有什么问题的,但是showBox()弹窗2次就是不合理的,要求只弹出一次。

这样,我要一开始调用2次showBox(),就显示一次,而且不能影响以后hhh()函数的调用,尤其这些就不是你写的,你只是来改bug的。

这个功能的业务逻辑又多,代码又多,哪里都不敢轻改。所以我就想了个巧妙的办法:给showBox()被调用的次数编个号,showBoxNum = 0,1,2,3,4,5.... n-1,n。

我限制编号 showBoxNum == 1,不可以弹窗,其他的都可以,这样就达到了目标,而且还不影响原来的逻辑,个人认为是个不错的办法。代价就是一个全局变量,几次++,划得来。

原文地址:https://www.cnblogs.com/xxchao/p/3982201.html