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 相关文章推荐
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
Dec 23 Javascript
JQuery自定义事件的应用 JQuery最佳实践
Aug 01 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
Nov 03 Javascript
Angularjs整合微信UI(weui)
Mar 15 Javascript
JS判断元素是否在数组内的实现代码
Mar 30 Javascript
轮播图组件js代码
Aug 08 Javascript
ES6中的箭头函数实例详解
Apr 06 Javascript
vue-cli脚手架引入图片的几种方法总结
Mar 13 Javascript
JS实现的判断方法、变量是否存在功能示例
Mar 28 Javascript
详解组件库的webpack构建速度优化
Jun 18 Javascript
Angular异步变同步处理方法
Aug 13 Javascript
如何获取vue单文件自身源码路径
May 06 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读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
destoon调用自定义模板及样式的公告栏
2014/06/21 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
基于jquery的simpleValidate简易验证插件
2014/01/31 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
2014/10/16 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
JQuery节点元素属性操作方法
2015/06/11 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
2018/09/21 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
Python生成随机验证码的两种方法
2015/12/22 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
Python实现的微信好友数据分析功能示例
2018/06/21 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
PyQt5的QWebEngineView使用示例
2020/10/20 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
物理系毕业生自荐信
2013/11/01 职场文书
美术师范毕业生自荐信
2013/11/16 职场文书
小学英语教学反思
2014/01/30 职场文书
《口技》教学反思
2014/02/21 职场文书
小学生优秀评语
2014/12/29 职场文书
拾金不昧表扬信
2015/01/16 职场文书
分享node.js实现简单登录注册的具体代码
2022/04/26 NodeJs
Python Matplotlib绘制动画的代码详解
2022/05/30 Python
hive数据仓库新增字段方法
2022/06/25 数据库