场景:某前端界面在加入alert之后,程序能正常运行,而注释掉后竟然程序无法正常运行了。
原因:第一,注意JS前端的加载顺序。为何alert能让程序正常?是因为没注意加载顺序,而alert有终止程序的作用,从而给了系统缓冲空间,于是让本应该后加载的地方先进行加载,所以让程序正常了!
第二,由于多次调用后台,尤其是在For循环中前后台交互,数据过多进而进程无序化,而每一个循环中都alert一下相当于程序暂停,等待把事件执行完后才继续下一步,使程序正常
解决方案:第一种情况,调整加载顺序,因为JS加载是一定规则的,给一种简单粗暴的解决方案--对后执行的程序段直接setTimeout延迟执行即可。完美解决加载顺序问题
第二种情况,前后端交互过多调用导致顺序紊乱,这个很麻烦,采取延迟执行策略不一定好使,反正我失败了。只有动其根本,减少前后端交互,比如,本来是多次调用得到逐个数据,那就一次性获取所有数据,在到前台慢慢解析!
谈谈其他的:alert不只是弹窗,还会强行终止程序,只到有callback后才能继续执行程序!这点很重要,拿小本本记下