构建高性能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请求次数和跳过空白和注释的次数。
- 构建高性能javascript代码的几点意见
- 构建高性能ASP.NET应用的几点建议
- 构建高性能的接口模块需要注意的几点
- 【给中高级开发者】构建高性能ASP.NET应用的几点建议
- 十月份球队的几点安排意见
- 给编程新手入门的几点意见
- 学好C++的几点意见
- 对粗旷型框架的几点意见
- javascript性能优化的几点建议
- 关于高并发高性能的几点思考
- 优化Webpack构建性能的几点建议
- 构建高性能 ASP.NET应用的12点建
- 写出高性能的javascript代码
- 编写高性能Java的注意的几点
- 创建高性能AIR程序的几点提示
- 构架高性能WEB网站的几点知识
- 构架高性能WEB网站的几点知识
- 构架高性能网站的几点知识
- 这几天将ucGUI移植到QT4下面了。
- infoQ专访HTML5版Clear应用作者尤雨溪
- Struts2实例1--------登录案例的实现
- 清华大学2007年复试上机题 解题报告
- 分享一个HTML5画布实现的超酷文字弹跳球效果
- 构建高性能javascript代码的几点意见
- malloc()和calloc()区别
- TinyOs无线消息收发问题
- FLEX开发者必备的十多个工具
- SharedPreferences 的用法
- 推荐几个学习linux的国外著名论坛网站
- spring数据源配置
- fedora 16 使用LiveCD修复grub2引导–<转>
- Java并发学习笔记(6)线程的四种状态,优先级