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 相关文章推荐
Convert Seconds To Hours
Jun 16 Javascript
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
Nov 24 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
Nov 21 Javascript
jQuery中:only-child选择器用法实例
Jan 03 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
May 17 Javascript
js中获取jsp表单中radio类型的值简单实例
Aug 15 Javascript
JS仿淘宝搜索框用户输入事件的实现
Jun 19 Javascript
JavaScript实现QQ列表展开收缩扩展功能
Oct 30 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
vue-cli 如何打包上线的方法示例
May 08 Javascript
react配置antd按需加载的使用
Feb 11 Javascript
vue使用nprogress实现进度条
Dec 09 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中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
php判断两个浮点数是否相等的方法
2015/03/14 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
js实现瀑布流的三种方式比较
2020/06/28 Javascript
最细致的vue.js基础语法 值得收藏!
2016/11/03 Javascript
angular4 如何在全局设置路由跳转动画的方法
2017/08/30 Javascript
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
2018/03/19 Javascript
JS将网址url转化为JSON格式的方法
2018/07/02 Javascript
webpack中如何加载静态文件的方法步骤
2019/05/18 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
JavaScript图片旋转效果实现方法详解
2020/06/28 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
JavaScript实现切换多张图片
2021/01/27 Javascript
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
linux 下实现python多版本安装实践
2014/11/18 Python
python3大文件解压和基本操作
2017/12/15 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
Django集成celery发送异步邮件实例
2019/12/17 Python
解决jupyter运行pyqt代码内核重启的问题
2020/04/16 Python
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
海蓝之谜(LA MER)澳大利亚官方商城:全球高端奢华护肤品牌
2017/10/27 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
办理信用卡工作证明
2014/01/11 职场文书
幼儿教师研修感言
2014/02/12 职场文书
公司办公室岗位职责
2014/03/19 职场文书
学雷锋宣传标语
2014/06/25 职场文书
房屋租赁委托书范本
2014/10/04 职场文书
三八妇女节标语
2014/10/09 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
文艺晚会开场白
2015/05/29 职场文书
辛亥革命观后感
2015/06/02 职场文书