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和PHP实现类似360功能开关效果
Feb 12 Javascript
javascript实现网站加入收藏功能
Dec 16 Javascript
js 动态给元素添加、移除事件的实现方法
Jul 19 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
Jul 03 Javascript
解决option标签selected="selected"属性失效的问题
Nov 06 Javascript
JS中获取 DOM 元素的绝对位置实例详解
Apr 23 Javascript
react项目实践之webpack-dev-serve
Sep 14 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
Oct 19 Javascript
详解基于webpack&gettext的前端多语言方案
Jan 29 Javascript
微信小程序实现点击空白隐藏的方法示例
Aug 13 Javascript
vue之延时刷新实例
Nov 14 Javascript
微信小程序开发摇一摇功能
Nov 22 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 socket(fsockopen)的应用实例分析
2013/06/02 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
用倒置滤镜把div倒置,再把table倒置。
2007/07/31 Javascript
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
jQuery层级选择器用法分析
2015/02/10 Javascript
举例讲解AngularJS中的模块
2015/06/17 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
2015/11/15 Javascript
VUE中使用Vue-resource完成交互
2017/07/21 Javascript
vue实现nav导航栏的方法
2017/12/13 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
Angular6 用户自定义标签开发的实现方法
2019/01/08 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
2019/08/07 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
使用python脚本实现查询火车票工具
2018/07/19 Python
Selenium元素的常用操作方法分析
2018/08/10 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
荷兰游戏商店:Allyouplay
2019/03/16 全球购物
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
求职自荐信格式
2013/12/04 职场文书
小学新教师培训方案
2014/02/03 职场文书
办公室主任职责范本
2014/03/07 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
Python 多线程之threading 模块的使用
2021/04/14 Python
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python
Python pyecharts绘制条形图详解
2022/04/02 Python