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 相关文章推荐
IFrame跨域高度自适应实现代码
Aug 16 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
Sep 29 Javascript
JS小功能(button选择颜色)简单实例
Nov 29 Javascript
js中settimeout方法加参数的使用实例
Feb 27 Javascript
jquery基础知识第一讲之认识jquery
Mar 17 Javascript
AngularJS延迟加载html template
Jul 27 Javascript
JavaScript中获取时间的函数集
Aug 16 Javascript
使用JavaScript获取Request中参数的值方法
Sep 27 Javascript
解析js如何获取css样式
Dec 11 Javascript
js prototype和__proto__的关系是什么
Aug 23 Javascript
vue选项卡切换登录方式小案例
Sep 27 Javascript
详解Javascript实践中的命令模式
May 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
东芝TOSHIBA RP-F11电路分析
2021/03/02 无线电
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
php cli模式学习(PHP命令行模式)
2013/06/03 PHP
PHP中file_get_contents高?用法实例
2014/09/24 PHP
php常用的安全过滤函数集锦
2014/10/09 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
使用composer命令加载vendor中的第三方类库 的方法
2019/07/09 PHP
JS的数组的扩展实例代码
2008/07/09 Javascript
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
jquery右下角弹出提示框示例代码
2013/10/08 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
2014/02/07 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
JavaScript获取网页中第一个链接ID的方法
2015/04/03 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
2015/11/02 Javascript
原生js的RSA和AES加密解密算法
2016/10/08 Javascript
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
windows安装TensorFlow和Keras遇到的问题及其解决方法
2019/07/10 Python
Python安装whl文件过程图解
2020/02/18 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
2020/04/27 Python
利用css3-animation实现逐帧动画效果
2016/03/10 HTML / CSS
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
英国标准协会商店:BSI Shop
2019/02/25 全球购物
品学兼优的大学生自我评价
2013/09/20 职场文书
大学生求职中的自我评价
2013/10/01 职场文书
励志演讲稿500字
2014/08/21 职场文书
社区党员干部承诺书
2015/05/04 职场文书
客户答谢会致辞
2015/07/30 职场文书
退休欢送会致辞
2015/07/31 职场文书
2016入党积极分子心得体会
2016/01/06 职场文书
2019年工作总结范文
2019/05/21 职场文书
关于MySQL中explain工具的使用
2023/05/08 MySQL
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS