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 相关文章推荐
javascript 动态生成私有变量访问器
Dec 06 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
Jul 03 Javascript
node.js中的path.basename方法使用说明
Dec 09 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
Dec 16 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
Aug 11 Javascript
关于数据与后端进行交流匹配(点亮星星)
Aug 03 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
Nov 04 Javascript
彻底学会Angular.js中的transclusion
Mar 12 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
Jun 04 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
Oct 09 Javascript
阿望教你用vue写扫雷小游戏
Jan 20 Javascript
JavaScript实现旋转木马轮播图
Mar 16 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
写一个用户在线显示的程序
2006/10/09 PHP
php批量更改数据库表前缀实现方法
2013/10/26 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
2014/07/01 PHP
php支付宝手机网页支付类实例
2015/03/04 PHP
PHP针对字符串开头和结尾的判断方法
2016/07/11 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
JQuery for与each性能比较分析
2013/05/14 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
flash遮住div问题的正确解决方法
2014/02/27 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
seajs和requirejs模块化简单案例分析
2019/08/26 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
2020/03/16 Javascript
Python中的exec、eval使用实例
2014/09/23 Python
Python实现学生成绩管理系统
2020/04/05 Python
Python logging模块原理解析及应用
2020/08/13 Python
解决pycharm修改代码后第一次运行不生效的问题
2021/02/06 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
学习雷锋精神演讲稿
2014/05/10 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
不服从上级领导安排的检讨书
2014/09/14 职场文书
个人收入证明模板
2014/09/18 职场文书