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 相关文章推荐
在textarea中屏蔽js的某个function的javascript代码
Apr 20 Javascript
javascript字符串拼接的效率问题
Dec 25 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
Mar 21 Javascript
JS小功能(button选择颜色)简单实例
Nov 29 Javascript
使用js Math.random()函数生成n到m间的随机数字
Oct 09 Javascript
js实现单击图片放大图片的方法
Feb 17 Javascript
jQuery中(function($){})(jQuery)详解
Jul 15 Javascript
jquery实现下拉框功能效果【实例代码】
May 06 Javascript
Angular项目从新建、打包到nginx部署全过程记录
Dec 09 Javascript
JavaScript作用域链实例详解
Jan 21 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
使用Vue-cli 中为单独页面设置背景图片铺满全屏
Jul 17 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使HTML标签自动补全闭合函数代码
2012/10/04 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
javascript:json数据的页面绑定示例代码
2014/01/26 Javascript
css+js实现部分区域高亮可编辑遮罩层
2014/03/04 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
js原型链与继承解析(初体验)
2016/05/09 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
微信小程序支付之c#后台实现方法
2017/10/19 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
简单的三步vuex入门
2018/05/20 Javascript
Nodejs实现多文件夹文件同步
2018/10/17 NodeJs
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
2020/11/04 Javascript
[02:44]DOTA2英雄基础教程 钢背兽
2013/12/19 DOTA
[03:24]CDEC.Y赛前采访 努力备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
9种python web 程序的部署方式小结
2014/06/30 Python
在Python中使用SimpleParse模块进行解析的教程
2015/04/11 Python
批处理与python代码混合编程的方法
2016/05/19 Python
Python入门学习指南分享
2018/04/11 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
2018/04/17 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
python函数的作用域及关键字详解
2019/08/20 Python
python将print输出的信息保留到日志文件中
2019/09/27 Python
解决python3输入的坑——input()
2020/12/05 Python
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
新加坡网上化妆品店:Best Buy World
2018/05/18 全球购物
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
共产党员承诺书
2014/03/25 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书
CSS3 制作的书本翻页特效
2021/04/13 HTML / CSS