JavaScript代码性能优化总结篇


Posted in Javascript onMay 15, 2016

下面是我总结的一些小技巧,仅供参考。

以下代码基本上在jQuery的源码里面都可以看到,如有说得不对的地方,请大家指出。

尽量使用源生方法

javaScript是解释性语言,相比编译性语言执行速度要慢。浏览器已经实现的方法,就不要再去实现一遍了。另外,浏览器已经实现的方法在算法方面已经做了很多优化。

避免全局查找

在一个函数中会用到全局对象存储为局部变量来减少全局查找,因为访问局部变量的速度要比访问全局变量的速度更快些。

JavaScript代码性能优化总结篇

尽量减少循环次数

少一层循环,就能提高数倍性能。如果要对一个数组的每个元素进行多次操作,尽可能使用一次循环,多次操作,而不是多次循环,每次循环执行一次操作。尤其是在进行多个正则匹配的时候,尽可能合并正则表达式,在一次遍历中尽可能找到相应的匹配。

循环

JavaScript代码性能优化总结篇

switch

JavaScript代码性能优化总结篇

条件分支

将条件分支,按可能性顺序从高到低排列:可以减少解释器对条件的探测次数。

在同一条件 >2条件分支时,使用switch优于if:switch分支选择的效率高于if,在IE下尤为明显。4条分支的测试,IE下switch的执行时间约为if的一半。

使用三目运算符替代条件分支。

JavaScript代码性能优化总结篇

定时器

如果针对的是不断运行的代码,不应该使用setTimeout,而应该是用setInterval,因为setTimeout每一次都会初始化一个定时器,而setInterval只会在开始的时候初始化一个定时器。定时器

JavaScript代码性能优化总结篇

创建对象的另外一个办法-不使用new

JavaScript代码性能优化总结篇

用做标记的变量尽可能使用布尔类型

直接用true和false做标记,不要使用数字或者字符串的1和0来做标记。

Javascript 相关文章推荐
jquery.boxy插件的iframe扩展代码
Jul 02 Javascript
用Javascript实现Windows任务管理器的代码
Mar 27 Javascript
js setTimeout 参数传递使用介绍
Aug 13 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
Jun 16 Javascript
20分钟打造属于你的Bootstrap站点
Jul 27 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
JavaScript中变量、指针和引用功能与操作示例
Aug 04 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
Aug 13 Javascript
vue-cli配置flexible过程详解
Jul 04 Javascript
24个解决实际问题的ES6代码片段(小结)
Feb 02 Javascript
vue@cli3项目模板怎么使用public目录下的静态文件
Jul 07 Javascript
JavaScript中reduce()的用法
May 11 Javascript
window.onload绑定多个事件的两种解决方案
May 15 #Javascript
js仿淘宝和百度文库的评分功能
May 15 #Javascript
RequireJS使用注意细节
May 15 #Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
May 15 #Javascript
jQuery插件开发汇总
May 15 #Javascript
Javascript的无new构建实例详解
May 15 #Javascript
Javascript基础知识盲点总结之函数
May 15 #Javascript
You might like
PHP实现自动登入google play下载app report的方法
2014/09/23 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
JavaScript 学习笔记(十五)
2010/01/28 Javascript
picChange 图片切换特效的函数代码
2010/05/06 Javascript
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
2016/12/13 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
JS+Canvas绘制动态时钟效果
2017/11/10 Javascript
详解vue组件开发脚手架
2018/06/15 Javascript
详解微信UnionID作用
2019/05/15 Javascript
Vue的Eslint配置文件eslintrc.js说明与规则介绍
2020/02/03 Javascript
vue更改数组中的值实例代码详解
2020/02/07 Javascript
Python实现获取操作系统版本信息方法
2015/04/08 Python
Python matplotlib生成图片背景透明的示例代码
2019/08/30 Python
降低python版本的操作方法
2020/09/11 Python
运行Python编写的程序方法实例
2020/10/21 Python
师范毕业生个人求职信
2013/12/09 职场文书
七一表彰活动方案
2014/01/18 职场文书
银行类自荐信
2014/02/04 职场文书
给校长的建议书
2014/03/12 职场文书
年终总结会主持词
2014/03/25 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
自主招生自荐信范文
2015/03/04 职场文书
勤俭节约主题班会
2015/08/13 职场文书
小学主题班会教案
2015/08/17 职场文书
2016大学生暑期三下乡心得体会
2016/01/23 职场文书
2016年少先队活动总结
2016/04/06 职场文书
html form表单基础入门案例讲解
2021/07/21 HTML / CSS