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 相关文章推荐
防止页面被iframe(兼容IE,Firefox火狐)
Jul 04 Javascript
json实现添加、遍历与删除属性的方法
Jun 17 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
Aug 25 Javascript
完全深入学习Bootstrap表单
Nov 28 Javascript
浅谈对Angular中的生命周期钩子的理解
Jul 31 Javascript
JavaScript函数apply()和call()用法与异同分析
Aug 10 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
Nov 15 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
Sep 17 Javascript
ES5新增数组的实现方法
May 12 Javascript
JavaScript实现矩形块大小任意缩放
Aug 25 Javascript
Vue3 实现双盒子定位Overlay的示例
Dec 22 Vue.js
html中两种获取标签内的值的方法
Jun 16 jQuery
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
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
SWFObject 2.1以上版本语法介绍
2010/07/10 Javascript
详解WordPress开发中get_current_screen()函数的使用
2016/01/11 Javascript
js实现可控制左右方向的无缝滚动效果
2016/05/29 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
2017/11/17 Javascript
Angular 作用域scope的具体使用
2017/12/11 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
自定义javascript验证框架示例【附源码下载】
2019/05/31 Javascript
如何使用Jquery动态生成二级选项列表
2020/02/06 jQuery
利用js实现简易红绿灯
2020/10/15 Javascript
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
python机器人运动范围问题的解答
2019/04/29 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
2019/06/12 Python
Python对wav文件的重采样实例
2020/02/25 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
CHARLES & KEITH澳大利亚官网:新加坡时尚品牌
2019/01/22 全球购物
捐书寄语赠言
2014/01/18 职场文书
同事打架检讨书
2014/02/04 职场文书
机修工工作职责
2014/02/21 职场文书
演讲稿格式范文
2014/05/19 职场文书
合作合同协议书范本
2015/01/27 职场文书
教师考核表个人总结
2015/02/12 职场文书
2015年节能降耗工作总结
2015/05/22 职场文书
Python类方法总结讲解
2021/07/26 Python
Python matplotlib可视化之绘制韦恩图
2022/02/24 Python