JavaScript代码性能优化总结篇


Posted in Javascript onMay 15, 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 相关文章推荐
简单常用的幻灯片播放实现代码
Sep 25 Javascript
客户端js性能优化小技巧整理
Nov 05 Javascript
node.js中的fs.open方法使用说明
Dec 17 Javascript
js实现网站最上边可关闭的浮动广告条代码
Sep 04 Javascript
JavaScript 数组- Array的方法总结(推荐)
Jul 21 Javascript
url传递的参数值中包含&时,url自动截断问题的解决方法
Aug 02 Javascript
Javascript 跨域知识详细介绍
Oct 30 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
Jul 21 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
Jan 23 jQuery
实战node静态文件服务器的示例代码
Mar 08 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
Jul 15 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
Dec 04 Javascript
window.onload绑定多个事件的两种解决方案
May 15 #Javascript
js仿淘宝和百度文库的评分功能
May 15 #Javascript
RequireJS使用注意细节
May 15 #Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
May 15 #Javascript
jQuery插件开发汇总
May 15 #Javascript
Javascript的无new构建实例详解
May 15 #Javascript
Javascript基础知识盲点总结之函数
May 15 #Javascript
You might like
PHP和javascript常用正则表达式及用法实例
2014/07/01 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
php正则提取html图片(img)src地址与任意属性的方法
2017/02/08 PHP
php函数式编程简单示例
2019/08/08 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
JQuery验证工具类搜集整理
2013/01/16 Javascript
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
详解JavaScript数组和字符串中去除重复值的方法
2016/03/07 Javascript
jQuery深拷贝Json对象简单示例
2016/07/06 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
2018/03/14 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
2019/06/17 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
Python中用sleep()方法操作时间的教程
2015/05/22 Python
详解Python中的各种函数的使用
2015/05/24 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
python爬虫爬取微博评论案例详解
2019/03/27 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
python实现银行管理系统
2019/10/25 Python
Python如何给函数库增加日志功能
2020/08/04 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
CSS3 边框效果
2019/11/04 HTML / CSS
师范生实习个人的自我评价
2013/09/28 职场文书
工作迟到检讨书
2014/02/21 职场文书
2014年小学生教师节演讲稿范文
2014/09/10 职场文书
家属联谊会致辞
2015/07/31 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
pytorch 梯度NAN异常值的解决方案
2021/06/05 Python