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.fn和jQuery.prototype区别介绍
Oct 05 Javascript
javascript实现存储hmtl字符串示例
Apr 25 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
Jan 04 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
Jan 12 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
Jun 24 Javascript
基于vue的下拉刷新指令和滚动刷新指令
Dec 23 Javascript
vue实现购物车抛物线小球动画效果的方法详解
Feb 13 Javascript
基于vue实现一个神奇的动态按钮效果
May 15 Javascript
浅析vue中的provide / inject 有什么用处
Nov 10 Javascript
JavaScript实现联动菜单特效
Jan 07 Javascript
vue-cli3中配置alias和打包加hash值操作
Sep 04 Javascript
解决vue下载后台传过来的乱码流的问题
Dec 05 Vue.js
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
StringTemplate遇见jQuery冲突的解决方法
2011/09/22 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
删除javascript中注释语句的正则表达式
2014/06/11 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
PHPExcel中的一些常用方法汇总
2015/01/23 Javascript
JavaScript获取当前网页最后修改时间的方法
2015/04/03 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
JS实现仿PS的调色板效果完整实例
2016/12/21 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
2018/04/20 jQuery
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
2018/04/17 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
python 抓包保存为pcap文件并解析的实例
2019/07/23 Python
Python Django实现layui风格+django分页功能的例子
2019/08/29 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
Amcal中文官网:澳洲综合性连锁药房
2019/03/28 全球购物
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
人力资源专业推荐信
2013/11/29 职场文书
增员口号大全
2014/06/18 职场文书
自动化专业毕业生求职信
2014/06/18 职场文书
小学生民族团结演讲稿
2014/08/27 职场文书
国富论读书笔记
2015/06/26 职场文书
2016年中学清明节活动总结
2016/04/01 职场文书
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers