构建高性能javascript代码的几点意见

来源:互联网 发布:单片机串口初始化程序 编辑:程序博客网 时间:2024/06/02 09:29

javascript引擎和渲染引擎共享UI线程,因此耗时的js代码必将影响到客户交互感受,在长期研究和使用JS中有以下经验总结,分享给大家:

1.使用延迟脚本,动态加载脚本,XHR脚本注入的方式加载js脚本,避免多脚本加载出现的页面长时间等待。
2.用临时变量存储需要多次访问的全局对象及变量,减少在作用域链中解析标识符的时间。
3.在JS脚本里尽可能多的对元素操作完成后一次运用到元素,避免多次读取相同的元素位置,大小,偏移量等信息,用变量存储之以减少UI线程重排,重绘元素的压力。可以采用隐藏元素再修改,文档片段修改后一次加入,和克隆副本并在操作副本后将副本取代原对象的方式,尽量减少由于JS操作带来的多次UI刷新。
4.循环遍历多采用从后往前式,较少与length比较大小再判断true或false的步骤会提高很大的性能。if-else判断时将概率大的处理放在前面。for循环利用达夫设备模式一次多执行几次操作。
5.递归嵌套利用Memoization,缓存之前的计算结果以较少重复计算。
6.字符串连接多用+而不是+=,并且让连接字符串中最常的一个字符串放到等号后最左的位置,如 var newStr=longStr+other1+other2....如果是IE7及更早版本,多用数组项连接来连接字符串。
7.明确正则表达式的起始匹配位置,尽量减少匹配分支,合适使用匹配量词,避免回溯混乱产生的性能问题。
8.使用定时器setTimeout和setInterval将需要耗时很长的js脚本分段处理,可以避免出现页面假死现象。
9.多使用浏览器支持的原生方法,而不是自己实现的方法。
10.利用脚本预处理技术,javascript压缩技术,多个脚本合并技术等,尽量减少浏览器加载时的HTTP请求次数和跳过空白和注释的次数。


原创粉丝点击