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 相关文章推荐
jquery 元素控制(追加元素/追加内容)介绍及应用
Apr 21 Javascript
jquery实现弹出层遮罩效果的简单实例
Mar 03 Javascript
原生JavaScript生成GUID的实现示例
Sep 05 Javascript
jQuery+html5实现div弹出层并遮罩背景
Apr 15 Javascript
javascript正则表达式定义(语法)总结
Jan 08 Javascript
JavaScript中三种异步上传文件方式
Mar 06 Javascript
不使用script导入js文件的几种方法
Oct 27 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
Jan 16 Javascript
js实现手机发送验证码功能
Mar 13 Javascript
vue mint-ui tabbar变组件使用
May 04 Javascript
Echarts之悬浮框中的数据排序问题
Nov 08 Javascript
微信小程序模板消息推送的两种实现方式
Aug 27 Javascript
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中目录,文件操作详谈
2007/03/19 PHP
PHP一些常用的正则表达式字符的一些转换
2008/07/29 PHP
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
php网站地图生成类示例
2014/01/13 PHP
IE7提供XMLHttpRequest对象为兼容
2007/03/08 Javascript
json 入门基础教程 推荐
2009/10/31 Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
jQuery EasyUI API 中文文档 - ValidateBox验证框
2011/10/06 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
jQuery实现统计复选框选中数量
2014/11/24 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
浅谈node.js中async异步编程
2015/10/22 Javascript
js命名空间写法示例
2015/12/18 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
2019/11/18 Javascript
JSON获取属性值方法代码实例
2020/06/30 Javascript
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
基于数据归一化以及Python实现方式
2018/07/11 Python
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
大学生优秀团员事迹材料
2014/01/30 职场文书
《我为你骄傲》教学反思
2014/02/20 职场文书
情人节寄语大全
2014/04/11 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
阅兵口号
2014/06/19 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
荆州古城导游词
2015/02/06 职场文书
2015年药店工作总结
2015/04/20 职场文书
springboot入门 之profile设置方式
2022/04/04 Java/Android