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 相关文章推荐
做网页的一些技巧
Feb 01 Javascript
IE浏览器兼容Firefox的JS脚本的代码
Oct 23 Javascript
Javascript 调试利器 Firebug使用详解六
Jul 05 Javascript
选择TreeView控件的树状数据节点的JS方法(jquery)
Feb 06 Javascript
JavaScript通过join函数连接数组里所有元素的方法
Mar 20 Javascript
微信小程序开发经验总结(推荐)
Jan 11 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
Oct 24 Javascript
Vue父子模版传值及组件传值的三种方法
Nov 27 Javascript
Vue实现内部组件轮播切换效果的示例代码
Apr 07 Javascript
jQuery实现简单评论功能
Aug 19 jQuery
vue自定义指令限制输入框输入值的步骤与完整代码
Aug 30 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
Sep 04 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 chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
PHP设计模式之命令模式的深入解析
2013/06/13 PHP
教你如何快捷的使用cmd访问mysql小技巧
2014/05/26 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
PHP链表操作简单示例
2016/10/15 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
2011/10/23 Javascript
struts2+jquery组合验证注册用户是否存在
2014/04/30 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
2019/07/18 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
2019/12/10 Javascript
vue 中的动态传参和query传参操作
2020/11/09 Javascript
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
python制作一个桌面便签软件
2015/08/09 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
Django实现文件上传下载
2019/10/06 Python
python编程进阶之类和对象用法实例分析
2020/02/21 Python
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
函数指针的定义是什么
2016/08/14 面试题
生物化工专业个人自荐信
2013/09/26 职场文书
幼儿园庆六一游园活动方案
2014/01/29 职场文书
校运会入场式解说词
2014/02/10 职场文书
财务总监管理职责范文
2014/03/09 职场文书
大学班级文化建设方案
2014/05/06 职场文书
财务科长个人对照检查材料
2014/09/18 职场文书
党支部考察意见范文
2015/06/02 职场文书
董事长新年致辞
2015/07/29 职场文书
周末问候语大全
2015/11/10 职场文书
python爬取新闻门户网站的示例
2021/04/25 Python
Python基础详解之描述符
2021/04/28 Python