Javascript中产生固定结果的函数优化技巧


Posted in Javascript onJanuary 16, 2013

分享一个Javascript编写函数的优化技巧。
适用的函数应该要满足以下条件
产生固定结果
页面中多次调用
复杂或较耗时
代码和分析如下
Java代码:

//产生固定结果并且在页面中多次调用的函数 
function check() { 
//模拟耗时操作 
var begin = Date.now(); //ECMAScript5添加的,若不支持请改成 +new Date(); 
var ONE_SECOND = 1000, 
result = false; 
while(true) { 
if(Date.now() - begin >= ONE_SECOND){ 
result = true; 
break; 
} 
} 
//函数重写,直接返回结果 
check = function() { 
return result; 
} 
return result; 
} 
var firstBegin = Date.now(); 
check(); //第一次函数调用 
var firstEnd = Date.now(); 
check(); //第二次函数调用 
var secondEnd = Date.now(); 
console.log("第一次函数费时:" + (firstEnd - firstBegin) + "ms."); 
console.log("第二次函数费时:" + (secondEnd - firstEnd) + "ms.");

显示结果如下
Javascript中产生固定结果的函数优化技巧
Javascript 相关文章推荐
Prototype使用指南之array.js
Jan 10 Javascript
js bind 函数 使用闭包保存执行上下文
Dec 26 Javascript
select标记美化--JS式插件、后期加载
Apr 01 Javascript
js模拟点击以提交表单为例兼容主流浏览器
Nov 29 Javascript
Js获取图片原始宽高的实现代码
May 17 Javascript
微信小程序 实现tabs选项卡效果实例代码
Oct 31 Javascript
jQuery插件imgAreaSelect基础讲解
May 26 jQuery
小程序getLocation需要在app.json中声明permission字段
Apr 04 Javascript
vue中引入mxGraph的步骤详解
May 17 Javascript
微信小程序组件传值图示过程详解
Jul 31 Javascript
Vue的状态管理vuex使用方法详解
Feb 05 Javascript
Vue3.0 手写放大镜效果
Jul 25 Vue.js
js 在定义的时候立即执行的函数表达式(function)写法
Jan 16 #Javascript
JQuery验证工具类搜集整理
Jan 16 #Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
Jan 16 #Javascript
js拦截alert对话框另类应用
Jan 16 #Javascript
javascript图像处理—仿射变换深度理解
Jan 16 #Javascript
用js获取电脑信息(是使用与IE浏览器)
Jan 15 #Javascript
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
Jan 15 #Javascript
You might like
php smarty模版引擎中的缓存应用
2009/12/02 PHP
PHP中对于浮点型的数据需要用不同的方法解决
2014/03/11 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
PHP实现随机发放扑克牌
2020/04/21 PHP
玩转方法:call和apply
2014/05/08 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
js如何判断是否在iframe中及防止网页被别站用iframe嵌套
2017/01/11 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
TensorFlow中权重的随机初始化的方法
2018/02/11 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
Python 可视化神器Plotly详解
2020/12/26 Python
python中str内置函数用法总结
2020/12/27 Python
python实现简单文件读写函数
2021/02/25 Python
html5移动端价格输入键盘的实现
2019/09/16 HTML / CSS
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
巴西最大的家电和百货零售商:Casas Bahia
2016/11/22 全球购物
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
2012/09/08 面试题
个人职业生涯规划书1500字
2013/12/31 职场文书
岗位竞聘演讲稿
2014/01/10 职场文书
小学家长会邀请函
2014/01/23 职场文书
高中语文课后反思
2014/04/27 职场文书
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
破坏寝室公物检讨书
2014/11/17 职场文书
车间班组长竞聘书
2015/09/15 职场文书
初中政治教师教学反思
2016/02/23 职场文书
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
2021/03/31 HTML / CSS
用CSS3画一个爱心
2021/04/27 HTML / CSS
如何使JavaScript休眠或等待
2021/04/27 Javascript
PyQt5结合QtDesigner实现文本框读写操作
2021/06/11 Python
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL