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 相关文章推荐
用YUI做了个标签浏览效果
Feb 20 Javascript
form中限制文本字节数js代码
Jun 10 Javascript
javascript事件问题
Sep 05 Javascript
自己动手制作jquery插件之自动添加删除行功能介绍
Oct 14 Javascript
jquery入门—数据删除与隔行变色以及图片预览
Jan 07 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
Jan 06 Javascript
JavaScript基于原型链的继承
Jun 22 Javascript
javascript按顺序加载运行js方法
Dec 01 Javascript
angularjs的单选框+ng-repeat的实现方法
Sep 12 Javascript
angular.js实现列表orderby排序的方法
Oct 02 Javascript
JS实现水平遍历和嵌套递归操作示例
Aug 15 Javascript
vue中利用iscroll.js解决pc端滚动问题
Feb 15 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多文件上传类实例
2015/03/07 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
Javascript string 扩展库代码
2010/04/09 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
Javascript从数组中随机取出不同元素的两种方法
2016/09/22 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
jquery实现数字输入框
2017/02/22 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
微信小程序简单实现form表单获取输入数据功能示例
2017/11/30 Javascript
JavaScript实现百度搜索框效果
2020/03/26 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
微信小程序 自定义复选框实现代码实例
2019/09/04 Javascript
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
tornado+celery的简单使用详解
2019/12/21 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
Python+logging输出到屏幕将log日志写入文件
2020/11/11 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
什么是Linux虚拟文件系统VFS
2015/08/25 面试题
非功能性需求都包括哪些方面
2013/10/29 面试题
技术经理的自我评价范文
2013/12/03 职场文书
生日邀请函范文
2014/01/13 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
领导班子三严三实对照检查材料
2014/09/25 职场文书
离婚协议书范本及离婚须知
2014/10/15 职场文书
教师正风肃纪剖析材料
2014/10/20 职场文书
小学元宵节活动总结
2015/02/06 职场文书
答辩状格式范本
2015/05/22 职场文书
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python