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 (二) 万能的选择器
Oct 01 Javascript
实现web打印的各种方法介绍及实现代码
Jan 09 Javascript
JavaScript获取/更改文本框的值的实例代码
Aug 02 Javascript
js的onload事件及初始化按钮事件示例代码
Sep 25 Javascript
jQuery中end()方法用法实例
Jan 08 Javascript
kindeditor编辑器点中图片滚动条往上顶的bug
Jul 05 Javascript
jQuery on()绑定动态元素出现的问题小结
Feb 19 Javascript
前端框架Vue.js构建大型应用浅析
Sep 12 Javascript
基于angularJS的表单验证指令介绍
Oct 21 Javascript
React Native 使用Fetch发送网络请求的示例代码
Dec 02 Javascript
JS实现为动态创建的元素添加事件操作示例
Mar 17 Javascript
聊聊Vue中provide/inject的应用详解
Nov 10 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 CKEditor 上传图片实现代码
2009/11/06 PHP
php验证码生成器
2017/05/24 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
jQuery 性能优化手册 推荐
2010/02/23 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
Javascript的表单验证长度
2016/03/16 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
简单实现js拖拽效果
2017/07/25 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
javascript之分片上传,断点续传的实际项目实现详解
2019/09/05 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
vue使用better-scroll实现滑动以及左右联动
2020/06/30 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
Vue.js暴露方法给WebView的使用操作
2020/09/07 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
[00:32]2016完美“圣”典风云人物:Maybe宣传片
2016/12/05 DOTA
[01:33:30]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第二场 2月5日
2021/03/11 DOTA
学习python处理python编码问题
2011/03/13 Python
Python基于动态规划算法计算单词距离
2015/07/25 Python
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
Python微信库:itchat的用法详解
2017/08/14 Python
Python日期时间对象转换为字符串的实例
2018/06/22 Python
python django生成迁移文件的实例
2019/08/31 Python
基于Python 函数和方法的区别说明
2021/03/24 Python
小型女装店的创业计划书
2014/01/09 职场文书
派出所副所长四风问题个人整改措施思想汇报
2014/10/13 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
建议书范文
2015/02/05 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书
Python Pygame实战之塔防游戏的实现
2022/03/17 Python