浅谈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 相关文章推荐
jquery $.ajax各个事件执行顺序
Oct 15 Javascript
JavaScript中的面向对象介绍
Jun 30 Javascript
获取非最后一列td值并将title设为该值的方法
Oct 30 Javascript
通过action传过来的值在option获取进行验证的方法
Nov 14 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
Jun 16 Javascript
javascript父、子页面交互技巧总结
Aug 08 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
Oct 29 Javascript
以JavaScript来实现WordPress中的二级导航菜单的方法
Dec 14 Javascript
js实现文字垂直滚动和鼠标悬停效果
Dec 31 Javascript
jquery.validate提示错误信息位置方法
Jan 22 Javascript
javascript HTML5 canvas实现打砖块游戏
Jun 18 Javascript
关于vue-resource报错450的解决方案
Jul 24 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文件的自动运行方法分析
2016/05/13 PHP
php实现评论回复删除功能
2017/05/23 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
用Javascript 获取页面元素的位置的代码
2009/09/25 Javascript
JS获取农历日期具体实例
2013/11/14 Javascript
Javascript优化技巧之短路表达式详细介绍
2015/03/27 Javascript
js强制把网址设为默认首页
2015/09/29 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
js中数组常用方法总结(推荐)
2019/04/09 Javascript
详解Vue3.0 + TypeScript + Vite初体验
2021/02/22 Vue.js
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
python简单判断序列是否为空的方法
2015/06/30 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
关于Python-faker的函数效果一览
2019/11/28 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
用CSS禁用输入法(CSS3 UI规范)实例解析
2012/12/04 HTML / CSS
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
澳大利亚男士西服品牌:M.J.Bale
2018/02/06 全球购物
.net软件工程师面试题
2015/03/31 面试题
小学新教师培训方案
2014/02/03 职场文书
幼儿园中秋节活动方案
2014/02/06 职场文书
会展策划与管理专业大学生职业生涯规划
2014/02/07 职场文书
工作总结与自我评价
2014/09/18 职场文书
建设工程授权委托书
2014/09/22 职场文书
精神病医院见习报告
2014/11/03 职场文书
工程部主管岗位职责
2015/02/12 职场文书
医生行业员工的辞职信
2019/06/24 职场文书
创业计划书之暑假培训班
2019/11/09 职场文书
Golang流模式之grpc的四种数据流
2022/04/13 Golang