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 相关文章推荐
FireFox与IE 下js兼容触发click事件的代码
Nov 20 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
Oct 29 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
Mar 13 Javascript
微信小程序 获取相册照片实例详解
Nov 16 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
Apr 13 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
Aug 19 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
Oct 10 jQuery
vuex的module模块用法示例
Nov 12 Javascript
解决Layui 表格自适应高度的问题
Nov 15 Javascript
node.JS事件机制与events事件模块的使用方法详解
Feb 06 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
Apr 07 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
Nov 12 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/09 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
2016/09/21 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
2016/11/05 PHP
简单实现php上传文件功能
2017/09/21 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
2015/08/24 Javascript
js格式化时间的方法
2015/12/18 Javascript
node网页分段渲染详解
2016/09/05 Javascript
JavaScript中双向数据绑定详解
2017/05/03 Javascript
vue中v-model的应用及使用详解
2018/06/27 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
详解JavaScript中关于this指向的4种情况
2019/04/18 Javascript
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
[13:38]2015国际邀请赛中国战队出征仪式
2015/05/29 DOTA
Python实现基本数据结构中栈的操作示例
2017/12/04 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
python实现关闭第三方窗口的方法
2019/06/28 Python
python在新的图片窗口显示图片(图像)的方法
2019/07/11 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
学校招生宣传广告词
2014/03/19 职场文书
工作评语大全
2014/04/26 职场文书
节能环保家庭事迹材料
2014/08/27 职场文书
孝敬父母的活动方案
2014/08/31 职场文书
写给领导的感谢信
2015/01/22 职场文书
100句人生哲理语录集锦:强者征服今天,懒汉坐等明天
2019/10/18 职场文书
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript