浅谈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 相关文章推荐
Array对象方法参考
Oct 03 Javascript
Javascript操纵Cookie实现购物车程序
Nov 23 Javascript
jQuery1.6 使用方法一
Nov 23 Javascript
基于JQuery的列表拖动排序实现代码
Oct 01 Javascript
Jquery插件编写简明教程
Mar 25 Javascript
JS中传递参数的几种不同方法比较
Jan 20 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
Feb 16 Javascript
浅谈js获取ModelAndView值的问题
Mar 28 Javascript
JS遍历DOM文档树的方法实例详解
Apr 03 Javascript
详解封装基础的angular4的request请求方法
Jun 05 Javascript
axios如何利用promise无痛刷新token的实现方法
Aug 27 Javascript
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
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
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
PHP连接access数据库
2015/03/27 PHP
微信access_token的获取开发示例
2015/04/16 PHP
Javascript & DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
2007/06/02 Javascript
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
2015/10/17 Javascript
easyui form validate总是返回false的原因及解决方法
2016/11/07 Javascript
jquery心形点赞关注效果的简单实现
2016/11/14 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
微信小程序之页面拦截器的示例代码
2017/09/07 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
python传递参数方式小结
2015/04/17 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
Python:Numpy 求平均向量的实例
2019/06/29 Python
django 中QuerySet特性功能详解
2019/07/25 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
使用python创建生成动态链接库dll的方法
2020/05/09 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
HTML5在手机端实现视频全屏展示方法
2020/11/23 HTML / CSS
俄罗斯商务邀请函
2014/01/26 职场文书
机电职业生涯规划书范文
2014/03/08 职场文书
人才市场接收函
2015/01/30 职场文书
贪污检举信范文
2015/03/02 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书
导游词之扬州大明寺
2019/10/09 职场文书
ORACLE查看当前账号的相关信息
2021/06/18 Oracle
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python