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 1.0.4 - New Wave Javascript(js源文件)
Jan 15 Javascript
漂亮的提示信息(带箭头)
Mar 21 Javascript
Jquery 实现grid绑定模板
Jan 28 Javascript
AngularJS入门教程之表格实例详解
Jul 27 Javascript
jQuery实现简单的tab标签页效果
Sep 12 Javascript
利用纯Vue.js构建Bootstrap组件
Nov 03 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
Jun 16 Javascript
vue实现文章内容过长点击阅读全文功能的实例
Dec 28 Javascript
详解开发react应用最好用的脚手架 create-react-app
Apr 24 Javascript
vue axios基于常见业务场景的二次封装的实现
Sep 21 Javascript
js中addEventListener()与removeEventListener()用法案例分析
Mar 02 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
Nov 11 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&java(二)
2006/10/09 PHP
PHP自定义函数收代码
2010/08/01 PHP
PHP分页函数代码(简单实用型)
2010/12/02 PHP
PHP开发中四种查询返回结果分析
2011/01/02 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
2019/05/06 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
用CSS+JS实现的进度条效果效果
2007/06/05 Javascript
一步一步教你写一个jQuery的插件教程(Plugin)
2009/09/03 Javascript
javascript学习笔记(五) Array 数组类型介绍
2012/06/19 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
JS+CSS实现电子商务网站导航模板效果代码
2015/09/10 Javascript
配置eslint规范项目代码风格
2019/03/11 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
Python实现二分查找与bisect模块详解
2017/01/13 Python
Python实现比较扑克牌大小程序代码示例
2017/12/06 Python
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
python对离散变量的one-hot编码方法
2018/07/11 Python
Python for循环中的陷阱详解
2018/07/13 Python
Python之修改图片像素值的方法
2019/07/03 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
linux下进程间通信的方式
2014/12/23 面试题
秘书岗位职责
2013/11/18 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
小区的门卫岗位职责
2014/10/01 职场文书
师范生教育见习总结
2015/06/23 职场文书
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫