浅谈js算法和流程控制


Posted in Javascript onDecember 29, 2016

代码整体结构是执行速度的决定因素之一。 代码量少不一定运行速度快, 代码量多也不一定运行速度慢。

性能损失与代码组织方式和具体问题解决办法直接相关。

倒序循环可以提高性能,如:

for (var i=items.length; i--; ){
 process(items[i]);
}

控制件与 true 值进行比较,任何非零数字自动强制转换为 true,而零等同于 false。实际上,控制条件已经从两次比较(迭代少于总数吗?它等于 true 吗?)减少到一次比较(它等于 true 吗?)。将每个迭代中两次比较减少到一次可以大幅度提高循环速度。

减少迭代次数:达夫循环。在循环次数较多时可以有效提高循环速度。

查表法可以减少条件判断数量。当有大量离散值需要测试时,if-else 和 switch 都比使用查表法要慢得多。在 JavaScript 中查表法可使用数组或者普通对象实现,查表法访问数据比 if-else 或者 switch 更快,特别当条件体的数目很大时。

制表可以减少重复计算。通过缓存先前计算结果为后续计算所重复使用,避免了重复工作。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
Apr 07 Javascript
jquery异步请求实例代码
Jun 21 Javascript
JavaScript版DateAdd和DateDiff函数代码
Mar 01 Javascript
js获取系统的根路径实现介绍
Sep 08 Javascript
各种页面定时跳转(倒计时跳转)代码总结
Oct 24 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
Jun 11 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
Jul 29 Javascript
JavaScript模拟数组合并concat
Mar 06 Javascript
移动端日期插件Mobiscroll.js使用详解
Dec 19 Javascript
原生js实现新闻列表展开/收起全文功能
Jan 20 Javascript
VueJS事件处理器v-on的使用方法
Sep 27 Javascript
基于Require.js使用方法(总结)
Oct 26 Javascript
canvas学习之API整理笔记(二)
Dec 29 #Javascript
Node.js复制文件的方法示例
Dec 29 #Javascript
详解微信小程序——自定义圆形进度条
Dec 29 #Javascript
JS作用域深度解析
Dec 29 #Javascript
javascript中的深复制详解及实例分析
Dec 29 #Javascript
canvas学习之API整理笔记(一)
Dec 29 #Javascript
Javascript Function.prototype.bind详细分析
Dec 29 #Javascript
You might like
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
学习ExtJS 访问容器对象
2009/10/07 Javascript
JS 控件事件小结
2012/10/31 Javascript
js函数调用常用方法详解
2012/12/03 Javascript
JavaScript按位运算符的应用简析
2014/02/04 Javascript
jQuery 3.0中存在问题及解决办法
2016/07/15 Javascript
jQuery EasyUI Draggable拖动组件
2017/03/01 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
node中的cookie的具体使用
2018/09/13 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
2019/03/27 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
微信小程序 wxParse插件显示视频问题
2019/09/27 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
Python使用win32com实现的模拟浏览器功能示例
2017/07/13 Python
pandas DataFrame数据转为list的方法
2018/04/11 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
python ChainMap的使用和说明详解
2019/06/11 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
京东国际站:JOYBUY
2017/11/23 全球购物
7 For All Mankind官网:美国加州洛杉矶的高级牛仔服装品牌
2018/12/20 全球购物
StringBuilder和String的区别
2015/05/18 面试题
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
药店促销活动总结
2014/07/10 职场文书
2015年世界无烟日演讲稿
2015/03/18 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
2015年体检中心工作总结
2015/05/27 职场文书
浅谈mysql执行过程以及顺序
2021/05/12 MySQL