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中连接操作Oracle数据库实例
Apr 02 Javascript
js操作css属性实现div层展开关闭效果的方法
May 11 Javascript
js右下角弹出提示框示例代码
Jan 12 Javascript
jQuery学习笔记之回调函数
Aug 15 Javascript
关于vue.js组件数据流的问题
Jul 26 Javascript
angularjs性能优化的方法
Sep 05 Javascript
详解mpvue scroll-view自动回弹bug解决方案
Oct 01 Javascript
React 使用recharts实现散点地图的示例代码
Dec 07 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
May 01 Javascript
koa+mongoose实现简单增删改查接口的示例代码
May 13 Javascript
vue项目中使用eslint+prettier规范与检查代码的方法
Jan 16 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
Mar 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
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
2015/04/08 PHP
laravel通过a标签从视图向控制器实现传值
2019/10/15 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
JavaScript Timer实现代码
2010/02/17 Javascript
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
2015/02/27 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
详解js中Array的方法及技巧
2018/09/12 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
[00:17]游戏风云独家报道:DD赛后说出数字秘密 吓死你们啊!
2014/07/13 DOTA
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
python中列表和元组的区别
2017/12/18 Python
Python SQL查询并生成json文件操作示例
2018/08/17 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
pycharm中显示CSS提示的知识点总结
2019/07/29 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
详解Python3 pandas.merge用法
2019/09/05 Python
python 默认参数相关知识详解
2019/09/18 Python
TensorFlow2.0:张量的合并与分割实例
2020/01/19 Python
python3中确保枚举值代码分析
2020/12/02 Python
String这个类型的class为何定义成final?
2012/11/13 面试题
教育孩子心得体会
2014/01/01 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
培训计划通知
2015/07/15 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS