JavaScript代码性能优化总结(推荐)


Posted in Javascript onMay 16, 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代码性能优化总结(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery下jstree简单应用 - v1.0
Apr 14 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
Dec 08 Javascript
js对象继承之原型链继承实例
Jan 10 Javascript
javascript日期操作详解(脚本之家整理)
Sep 05 Javascript
浅谈JavaScript对象与继承
Jul 10 Javascript
简单实现bootstrap导航效果
Feb 07 Javascript
iscroll动态加载数据完美解决方法
Jul 18 Javascript
使用Vue制作图片轮播组件思路详解
Mar 21 Javascript
10行代码实现微信小程序滑动tab切换
Dec 28 Javascript
vue webpack build资源相对路径的问题及解决方法
Jun 04 Javascript
element跨分页操作选择详解
Jun 29 Javascript
vue实现点击出现操作弹出框的示例
Nov 05 Javascript
AngularJS学习笔记之依赖注入详解
May 16 #Javascript
javascript表单事件处理方法详解
May 15 #Javascript
基于jquery实现ajax无刷新评论
Aug 19 #Javascript
JavaScript代码性能优化总结篇
May 15 #Javascript
window.onload绑定多个事件的两种解决方案
May 15 #Javascript
js仿淘宝和百度文库的评分功能
May 15 #Javascript
RequireJS使用注意细节
May 15 #Javascript
You might like
来自PHP.NET的入门教程
2006/10/09 PHP
PHP程序员面试 切忌急功近利(更需要注重以后的发展)
2010/09/01 PHP
在PHP中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
php中memcache 基本操作实例
2015/05/17 PHP
分享php分页的功能模块
2015/06/16 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
javascript 动态添加事件代码
2008/11/30 Javascript
jquery 简单图片导航插件jquery.imgNav.js
2010/03/17 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
node.js中的forEach()是同步还是异步呢
2015/01/29 Javascript
JavaScript实现函数返回多个值的方法
2015/06/09 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
Bootstrap中CSS的使用方法
2016/02/17 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
js实现随机抽选效果、随机抽选红色球效果
2017/01/13 Javascript
JS中使用 after 伪类清除浮动实例
2017/03/01 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
vue中,在本地缓存中读写数据的方法
2018/09/21 Javascript
读懂CommonJS的模块加载
2019/04/19 Javascript
VUEX 数据持久化,刷新后重新获取的例子
2019/11/12 Javascript
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
2020/07/20 Javascript
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
python爬取m3u8连接的视频
2018/02/28 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
浅析python参数的知识点
2018/12/10 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
Python faker生成器生成虚拟数据代码实例
2020/07/20 Python
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
网管求职信
2014/03/03 职场文书
实名检举信范文
2015/03/02 职场文书