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 相关文章推荐
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
Jan 13 Javascript
javascript单引号和双引号的区别和处理
May 14 Javascript
Windows下用PyCharm和Visual Studio开始Python编程
Oct 26 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
Jan 23 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
Jul 21 Javascript
vue实现div拖拽互换位置
Jul 29 Javascript
JS字符串与二进制的相互转化实例代码详解
Jun 28 Javascript
javascript操作元素的常见方法小结
Nov 13 Javascript
node实现mock-plugin中间件的方法
Dec 25 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
Jul 20 Javascript
浅析 Vue 3.0 的组装式 API(一)
Aug 31 Javascript
js不常见操作运算符总结
Nov 20 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
解析关于wamp启动是80端口被占用的问题
2013/06/21 PHP
PHP Mysqli 常用代码集合
2016/11/12 PHP
PHP中ajax无刷新上传图片与图片下载功能
2017/02/21 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
2019/10/12 PHP
JQuery入门——事件切换之toggle()方法应用介绍
2013/02/05 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
2014/11/19 Javascript
js鼠标点击图片实现随机变换图片的方法
2015/02/16 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
Vue实现virtual-dom的原理简析
2017/07/10 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
Vue render函数实战之实现tabs选项卡组件
2019/04/22 Javascript
详解async/await 异步应用的常用场景
2019/05/13 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
python+Django+apache的配置方法详解
2016/06/01 Python
python 自动去除空行的实例
2018/07/24 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
2020/03/30 Python
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
Lucene推荐的分页方式是什么?
2015/12/07 面试题
Java软件工程师综合面试题笔试题
2013/09/08 面试题
大学生的网络创业计划书
2013/12/26 职场文书
银行简历自我评价
2014/02/11 职场文书
创建精神文明单位实施方案
2014/03/08 职场文书
党员教师四风问题整改措施思想汇报
2014/10/08 职场文书
学校德育工作总结2015
2015/05/11 职场文书
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python
Spring Boot实现文件上传下载
2022/08/14 Java/Android