浅谈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 CSS菜单功能 改进版
Dec 20 Javascript
Prototype Function对象 学习
Jul 12 Javascript
javascript 触发事件列表 比较不错
Sep 03 Javascript
js 异步处理进度条
Apr 01 Javascript
同时使用n个window onload加载实例介绍
Apr 25 Javascript
js sort 二维数组排序的用法小结
Jan 24 Javascript
jQuery实现自定义checkbox和radio样式
Jul 13 Javascript
浅谈Angular.js中使用$watch监听模型变化
Jan 10 Javascript
清空元素html("") innerHTML="" 与 empty()的区别和应用(推荐)
Aug 14 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
Jan 09 jQuery
vue-cli2.0转3.0之项目搭建的详细步骤
Dec 11 Javascript
Vue render函数实战之实现tabs选项卡组件
Apr 22 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源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
PHP中的正则表达式实例详解
2017/04/25 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
Vue.js实现大屏数字滚动翻转效果
2019/11/29 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
python图像处理之反色实现方法
2015/05/30 Python
Python实现的寻找前5个默尼森数算法示例
2018/03/25 Python
Python While循环语句实例演示及原理解析
2020/01/03 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
匡威英国官网:Converse英国
2018/12/02 全球购物
红领巾心向党广播稿
2014/01/19 职场文书
2014年党员公开承诺书范文
2014/03/28 职场文书
出纳试用期自我鉴定
2014/04/07 职场文书
党的生日演讲稿
2014/09/10 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
2015年度物业公司工作总结
2015/04/27 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python
Java数据结构之堆(优先队列)
2022/05/20 Java/Android