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 相关文章推荐
自己的js工具_Form 封装
Aug 21 Javascript
javascript 弹出层组件(升级版)
May 12 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
Jan 16 Javascript
用js正确判断用户名cookie是否存在的方法
Jan 28 Javascript
基于javascript实现九九乘法表
Mar 27 Javascript
JavaScript实战之带收放动画效果的导航菜单
Aug 16 Javascript
解决node.js安装包失败的几种方法
Sep 02 Javascript
JS自定义混合Mixin函数示例
Nov 26 Javascript
electron制作仿制qq聊天界面的示例代码
Nov 26 Javascript
vue动态注册组件实例代码详解
May 30 Javascript
基于iview-admin实现动态路由的示例代码
Oct 02 Javascript
精读《Vue3.0 Function API》
May 20 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 分页类 扩展代码
2009/06/11 PHP
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
PHP获取一个字符串中间一部分字符的方法
2014/08/19 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
2014/08/21 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
PDO::errorCode讲解
2019/01/28 PHP
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
jq实现酷炫的鼠标经过图片翻滚效果
2014/03/12 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
谈谈jQuery之Deferred源码剖析
2016/12/19 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
vue 解决文本框被键盘遮住的问题
2019/11/06 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
python标准算法实现数组全排列的方法
2015/03/17 Python
Python实现把回车符\r\n转换成\n
2015/04/23 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
Python 一句话生成字母表的方法
2019/01/02 Python
python高斯分布概率密度函数的使用详解
2019/07/10 Python
python爬取代理IP并进行有效的IP测试实现
2020/10/09 Python
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
2014/11/05 HTML / CSS
HTML5 WebSocket实现点对点聊天的示例代码
2018/01/31 HTML / CSS
利物浦足球俱乐部官方网上商店:Liverpool FC Official Store
2018/01/13 全球购物
好的自荐信的要求
2013/10/30 职场文书
高二英语教学反思
2014/01/19 职场文书
公司活动邀请函
2014/01/24 职场文书
运动会通讯稿400字
2014/01/28 职场文书
2014年应届大学生毕业自我鉴定
2014/01/31 职场文书
《爱如茉莉》教后反思
2014/04/12 职场文书
分家协议书
2014/04/21 职场文书
学校与家长安全责任书
2014/07/23 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python
Python pyecharts案例超市4年数据可视化分析
2022/08/14 Python