浅谈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 相关文章推荐
js之WEB开发调试利器:Firebug 下载
Jan 13 Javascript
js工具方法弹出蒙版
May 08 Javascript
JavaScript中的Math.LN2属性用法详解
Jun 12 Javascript
整理Javascript事件响应学习笔记
Dec 02 Javascript
jQuery获取字符串中出现最多的数
Feb 22 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
Jun 08 Javascript
原生js实现返回顶部缓冲效果
Jan 18 Javascript
Easyui在treegrid添加控件的实现方法
Jun 23 Javascript
AngularJs导出数据到Excel的示例代码
Aug 11 Javascript
微信小程序 如何引入外部字体库iconfont的图标
Jan 31 Javascript
node打造微信个人号机器人的方法示例
Apr 26 Javascript
详解elementUI中input框无法输入的问题
Apr 27 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无限分类且支持输出树状图的详细介绍
2013/06/19 PHP
php把session写入数据库示例
2014/02/26 PHP
CodeIgniter启用缓存和清除缓存的方法
2014/06/12 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
php实现的RSS生成类实例
2015/04/23 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
javascript 进度条 实现代码
2009/07/30 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
自己实现ajax封装示例分享
2014/04/01 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
微信小程序 实战程序简易新闻的制作
2017/01/09 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
Python sqlite3查询操作过程解析
2020/02/20 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
Python如何实现远程方法调用
2020/08/07 Python
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
台湾母婴用品限时团购:妈咪爱
2018/08/03 全球购物
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
什么是JNDI的上下文?如何初始化JNDI上下文
2012/03/10 面试题
人事档案接收函
2014/01/12 职场文书
总经理检讨书
2014/09/15 职场文书
中标通知书格式
2015/04/17 职场文书
2016情人节宣传语
2015/07/14 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers
用Python提取PDF表格的方法
2021/04/11 Python
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python