13 个JavaScript 性能提升技巧分享


Posted in Javascript onJuly 26, 2012

Daniel Clifford 在 Google I/O 2012 上做了一个精彩的演讲“Breaking the JavaScript Speed Limit
with V8”。在演讲中,他深入解释了13个简单的代码优化方法,可以让你的代码在 Chrome 的 V8 JavaScript 引擎编译/运行你的 JavaScript 代码更加快速。在演讲中,他解释了怎么优化,并且解释了原因。下面简明的列出了优化的要点:

1. 在构造函数中初始化所有的对象

2. 始终用相同的顺序初始化对象

3. 尽量使用数字

4. 为数组使用从0开始的连续的主键

5. 不要提前分配大型数组(>64K),你应该在使用的过程中扩大数组

6. 不要删除数组中的元素

7. 不要装在没有初始化或者已经删除的元素

8. 对于固定大小的数组,使用”array literals“初始化

9. 在使用前分配正确的空间大小给小数组

10. 不要在数值数组中存储非数值内容

11. 尽量使用单一类型(monomorphic)而不是多类型(polymorphic)

12. 不要使用 try{} catch{}

13. 在优化后避免在方法中修隐藏的类

Javascript 相关文章推荐
JQuery 学习笔记 element属性控制
Jul 23 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
Jul 31 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
Jan 11 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
May 17 Javascript
JS实现日期加减的方法
Nov 29 Javascript
javascript中直接引用Microsoft的COM生成Word
Jan 20 Javascript
Javascript基础_标记文字的实现方法
Jun 14 Javascript
详解JavaScript中的属性和特性
Dec 08 Javascript
angular.fromJson与toJson方法用法示例
May 17 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
Dec 11 Javascript
vue props对象validator自定义函数实例
Nov 13 Javascript
javascript事件循环event loop的简单模型解释与应用分析
Mar 14 Javascript
了解一点js的Eval函数
Jul 26 #Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
Jul 26 #Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
Jul 25 #Javascript
浅谈javascript的原型继承
Jul 25 #Javascript
基于jquery的多功能软键盘插件
Jul 25 #Javascript
基于jQuery判断两个元素是否有重叠部分的代码
Jul 25 #Javascript
JavaScript中的apply()方法和call()方法使用介绍
Jul 25 #Javascript
You might like
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
Chrome Web App开发小结
2014/09/04 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
PHP使用HTML5 FormData对象提交表单操作示例
2019/07/02 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
js保留小数点后几位的写法
2014/01/03 Javascript
js实现文字在按钮上滚动的方法
2015/08/20 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
手机端转换rem适应
2017/04/01 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
使用JS编写的随机抽取号码的小程序
2017/08/11 Javascript
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
详解js类型判断
2018/05/22 Javascript
js实现秒表计时器
2019/12/16 Javascript
django实现分页的方法
2015/05/26 Python
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
python+requests+unittest API接口测试实例(详解)
2017/06/10 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
Python实现打砖块小游戏代码实例
2019/05/18 Python
用Python实现最速下降法求极值的方法
2019/07/10 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
python sitk.show()与imageJ结合使用常见的问题
2020/04/20 Python
用python实现学生管理系统
2020/07/24 Python
python判断变量是否为列表的方法
2020/09/17 Python
基于CSS3实现图片模糊过滤效果
2015/11/19 HTML / CSS
FILA斐乐中国官方商城:意大利运动品牌
2017/01/25 全球购物
大专生毕业的自我评价
2014/02/06 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
政府个人对照检查材料
2014/08/28 职场文书
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS
使用Pytorch训练two-head网络的操作
2021/05/28 Python
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js