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 操作select标签实现代码
May 14 Javascript
javascript Array.prototype.slice的使用示例
Nov 14 Javascript
jquery.cookie.js实现用户登录保存密码功能的方法
Apr 15 Javascript
jquery+ajax实现直接提交表单实例分析
Jun 17 Javascript
Angularjs CURD 详解及实例代码
Sep 14 Javascript
JavaScript中双符号的运算详解
Mar 12 Javascript
AngularJS实现的锚点楼层跳转功能示例
Jan 02 Javascript
vue2 前端搜索实现示例
Feb 26 Javascript
对vue里函数的调用顺序介绍
Mar 17 Javascript
js实现各浏览器全屏代码实例
Jul 03 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
Nov 07 Javascript
vue实现带过渡效果的下拉菜单功能
Feb 19 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输出控制功能在简繁体转换中的应用
2006/10/09 PHP
PHP错误和异长常处理总结
2014/03/06 PHP
非常实用的php验证码类
2016/05/15 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
js工具方法弹出蒙版
2013/05/08 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
详解离线安装npm包的几种方法
2018/11/25 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
Python中的ConfigParser模块使用详解
2015/05/04 Python
Python发送以整个文件夹的内容为附件的邮件的教程
2015/05/06 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
Django实现简单分页功能的方法详解
2017/12/05 Python
Python+selenium 获取一组元素属性值的实例
2018/06/22 Python
CSS3 旋转立方体问题详解
2020/01/09 HTML / CSS
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
LUISAVIAROMA中国官网:时尚奢侈品牌购物网站
2020/11/01 全球购物
初任培训自我鉴定
2013/10/07 职场文书
销售总监工作职责
2013/11/21 职场文书
金融专业求职信
2014/08/05 职场文书
建筑横幅标语
2014/10/09 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
业务员管理制度范本
2015/08/06 职场文书
高中班主任寄语
2019/06/21 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers