js中alert中断程序,那些你没注意到小事

场景:某前端界面在加入alert之后,程序能正常运行,而注释掉后竟然程序无法正常运行了。

原因:第一,注意JS前端的加载顺序。为何alert能让程序正常?是因为没注意加载顺序,而alert有终止程序的作用,从而给了系统缓冲空间,于是让本应该后加载的地方先进行加载,所以让程序正常了!

          第二,由于多次调用后台,尤其是在For循环中前后台交互,数据过多进而进程无序化,而每一个循环中都alert一下相当于程序暂停,等待把事件执行完后才继续下一步,使程序正常

解决方案:第一种情况,调整加载顺序,因为JS加载是一定规则的,给一种简单粗暴的解决方案--对后执行的程序段直接setTimeout延迟执行即可。完美解决加载顺序问题

                  第二种情况,前后端交互过多调用导致顺序紊乱,这个很麻烦,采取延迟执行策略不一定好使,反正我失败了。只有动其根本,减少前后端交互,比如,本来是多次调用得到逐个数据,那就一次性获取所有数据,在到前台慢慢解析!

谈谈其他的:alert不只是弹窗,还会强行终止程序,只到有callback后才能继续执行程序!这点很重要,拿小本本记下

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值