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 EasyUI API 中文文档 - ComboBox组合框
Oct 07 Javascript
jQuery实现动画效果的实例代码
May 07 Javascript
JS 实现导航栏悬停效果(续2)
Sep 24 Javascript
详解JavaScript中setSeconds()方法的使用
Jun 11 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
Aug 22 Javascript
jQuery仿IOS弹出框插件
Feb 18 Javascript
require.js中的define函数详解
Jul 10 Javascript
在vue里面设置全局变量或数据的方法
Mar 09 Javascript
功能完善的小程序日历组件的实现
Mar 31 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
Aug 03 Javascript
jquery插件实现图片悬浮
Apr 16 jQuery
微信小程序APP页面的之间的相互传递参数以及自定义组件
Apr 19 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
分页显示Oracle数据库记录的类之一
2006/10/09 PHP
PHP XML备份Mysql数据库
2009/05/27 PHP
深入PHP内存相关的功能特性详解
2013/06/08 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
js 针对html DOM元素操作等经验累积
2014/03/11 Javascript
函数window.open实现关闭所有的子窗口
2015/08/03 Javascript
js限制文本框的输入内容代码分享(3类)
2015/08/20 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
jQuery插件ajaxFileUpload使用实例解析
2016/10/19 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
深入解读Node.js中的koa源码
2019/06/17 Javascript
单线程JavaScript实现异步过程详解
2020/05/19 Javascript
Python装饰器使用示例及实际应用例子
2015/03/06 Python
简单介绍Python的Django框架的dj-scaffold项目
2015/05/30 Python
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
Windows10下 python3.7 安装 facenet的教程
2019/09/10 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
使用Python项目生成所有依赖包的清单方式
2020/07/13 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
美国在线珠宝商店:SZUL
2017/02/11 全球购物
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
公路绿化方案
2014/05/12 职场文书
小学绿色学校申报材料
2014/08/23 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
2015年父亲节活动总结
2015/02/12 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书
JVM钩子函数的使用场景详解
2021/08/23 Java/Android
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis
Redis数据同步之redis shake的实现方法
2022/04/21 Redis