浅谈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 相关文章推荐
PHP 与 js的通信(via ajax,json)
Nov 16 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
Jun 26 Javascript
js数组循环遍历数组内所有元素的方法
Jan 18 Javascript
jQuery中empty()方法用法实例
Jan 16 Javascript
JavaScript实现多个重叠层点击切换效果的方法
Apr 24 Javascript
JS HTML5拖拽上传图片预览
Jul 18 Javascript
对称加密与非对称加密优缺点详解
Feb 06 Javascript
原生js轮播(仿慕课网)
Feb 15 Javascript
React教程之Props验证的具体用法(Props Validation)
Sep 04 Javascript
JS实现判断数组是否包含某个元素示例
May 24 Javascript
微信小程序 bindtap 传参的实例代码
Feb 21 Javascript
vue-amap根据地址回显地图并mark的操作
Nov 03 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统计时间和内存使用情况示例分享
2014/03/13 PHP
PHP递归复制、移动目录的自定义函数分享
2014/11/18 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
jquery JSON的解析方式
2009/07/25 Javascript
img标签中onerror用法
2009/08/13 Javascript
JavaScript对象链式操作代码(jquery)
2010/07/04 Javascript
关于javascript DOM事件模型的两件事
2010/07/22 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
JS版的date函数(和PHP的date函数一样)
2014/05/12 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
echart简介_动力节点Java学院整理
2017/08/11 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
js实现数字跳动到指定数字
2020/08/25 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
python如何生成各种随机分布图
2018/08/27 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
用python对excel查重
2020/12/07 Python
css3的transition属性详解
2014/12/15 HTML / CSS
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
贝佳斯官方网站:Borghese
2020/05/08 全球购物
中国文明网签名寄语
2014/01/18 职场文书
最新奶茶店创业计划书
2014/01/25 职场文书
音乐教学反思
2014/02/02 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
婚前保证书范文
2015/02/28 职场文书
创先争优活动个人总结
2015/03/04 职场文书
Python实现位图分割的效果
2021/11/20 Python
Win11 BitLocker 驱动器加密
2022/04/19 数码科技
mysql 获取相邻数据项
2022/05/11 MySQL
Java异常体系非正常停止和分类
2022/06/14 Java/Android