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 相关文章推荐
javascript函数库-集合框架
Apr 27 Javascript
eval与window.eval的差别分析
Mar 17 Javascript
JavaScript 原型继承之构造函数继承
Aug 26 Javascript
js去字符串前后空格5种实现方法及比较
Apr 03 Javascript
JS注释所产生的bug 即使注释也会执行
Nov 19 Javascript
Javascript setInterval的两种调用方法(实例讲解)
Nov 29 Javascript
JS实现文档加载完成后执行代码
Jul 09 Javascript
原生JS实现幻灯片
Feb 22 Javascript
JS数组操作之增删改查的简单实现
Aug 21 Javascript
Vue安装浏览器开发工具的步骤详解
May 12 Javascript
vue项目中将element-ui table表格写成组件的实现代码
Jun 12 Javascript
构建Vue大型应用的10个最佳实践(小结)
Nov 07 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
php 在文件指定行插入数据的代码
2010/05/08 PHP
举例详解PHP脚本的测试方法
2015/08/05 PHP
php实时倒计时功能实现方法详解
2017/02/27 PHP
自制PHP框架之路由与控制器
2017/05/07 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
JS类的封装及实现代码
2009/12/02 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
JavaScript脚本库编写的方法
2015/12/09 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
smartupload实现文件上传时获取表单数据(推荐)
2016/12/12 Javascript
javascript-解决mongoose数据查询的异步操作
2016/12/22 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
2018/10/19 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
Python实现建立SSH连接的方法
2015/06/03 Python
Python中多线程的创建及基本调用方法
2016/07/08 Python
pandas groupby 分组取每组的前几行记录方法
2018/04/20 Python
Python3.5 创建文件的简单实例
2018/04/26 Python
python 自动去除空行的实例
2018/07/24 Python
Python拼接字符串的7种方法总结
2018/11/01 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
Opodo意大利:欧洲市场上领先的在线旅行社
2019/10/24 全球购物
华三通信H3C面试题
2015/05/15 面试题
理工科学生的自我评价
2013/12/15 职场文书
教师档案管理制度
2014/01/23 职场文书
主办会计岗位职责
2014/03/13 职场文书
钱学森电影观后感
2015/06/04 职场文书
Python中json.dumps()函数的使用解析
2021/05/17 Python