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 相关文章推荐
求得div 下 img的src地址的js代码
Feb 28 Javascript
ext checkboxgroup 回填数据解决
Aug 21 Javascript
学习ExtJS accordion布局
Oct 08 Javascript
JS异常处理的一个想法(sofish)
Mar 14 Javascript
JS中的log对象获取以及debug的写法介绍
Mar 03 Javascript
loading动画特效小结
Jan 22 Javascript
Vue监听数据对象变化源码
Mar 09 Javascript
JSON 数据格式详解
Sep 13 Javascript
js实现删除li标签一行内容
Apr 16 Javascript
vue实现全匹配搜索列表内容
Sep 26 Javascript
详解JavaScript中分解数字的三种方法
Jan 05 Javascript
vue中利用mqtt服务端实现即时通讯的步骤记录
Jul 01 Vue.js
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
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
php实现上传图片文件代码
2015/07/19 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
js取滚动条的尺寸的函数代码
2011/11/30 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
JavaScript使用RegExp进行正则匹配的方法
2015/07/11 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
js a标签点击事件
2017/03/30 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
ionic使用angularjs表单验证(模板验证)
2018/12/12 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
微信小程序云开发如何实现数据库自动备份实现
2019/08/16 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
Vue——前端生成二维码的示例
2020/12/19 Vue.js
python语言使用技巧分享
2016/05/31 Python
python实现简易内存监控
2018/06/21 Python
用python求一重积分和二重积分的例子
2019/12/06 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
python 实现多维数组(array)排序
2020/02/28 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
高中毕业的自我鉴定
2013/12/09 职场文书
小孩百日宴答谢词
2014/01/15 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
质量保证书
2015/01/17 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
设备技术员岗位职责
2015/04/11 职场文书
亮剑观后感
2015/06/05 职场文书
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python