摘要:
在业务开发过程中发现了一个性能致命的地方,我将关键代码拆解后进行了分析,起初我认为可能是某函数里面某些方法执行太慢,从 formatData.replace 到 unescape,一个已废弃的函数,官方建议使用 decodeURI 或者 decodeURIComponent 替代,这些方法都怀疑了一遍,发现这些方法都不是该函数运行慢的原因。为了深究原因,我给函数传入了不同的值,发现某个函数的运行效率出现不同的表现。开始有点疑惑为什么的值导致这个函数的运行效率差别如此之大,最后探究出本质是 try catch 导致的性能大量折损,我们一起来看看具体原因。 阅读全文