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 相关文章推荐
解放web程序员的输入验证
Oct 06 Javascript
避免 showModalDialog 弹出新窗体的原因分析
May 31 Javascript
Javascript学习笔记二 之 变量
Dec 15 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
Sep 15 Javascript
javascript 获取浏览器版本
Jan 21 Javascript
微信小程序 picker-view 组件详解及简单实例
Jan 10 Javascript
jQuery中元素选择器(element)简单用法示例
May 14 jQuery
在小程序中推送模板消息的实现方法
Jul 22 Javascript
vue配置nprogress实现页面顶部进度条
Sep 21 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
Sep 25 Javascript
prettier自动格式化去换行的实现代码
Aug 25 Javascript
antd Select下拉菜单动态添加option里的内容操作
Nov 02 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
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
利用PHP实现开心消消乐的算法示例
2017/10/12 PHP
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
2010/07/26 Javascript
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
Node.js中使用mongoskin操作mongoDB实例
2014/09/28 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
JSON 数据格式详解
2017/09/13 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
vue项目使用.env文件配置全局环境变量的方法
2019/10/24 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
jQuery实现简单评论区功能
2020/10/26 jQuery
浅析VUE防抖与节流
2020/11/24 Vue.js
Python中正则表达式的详细教程
2015/04/30 Python
简单解决Python文件中文编码问题
2015/11/22 Python
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
浅谈Python实现2种文件复制的方法
2018/01/19 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
python如何求数组连续最大和的示例代码
2020/02/04 Python
解决Python pip 自动更新升级失败的问题
2020/02/21 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
Django QuerySet查询集原理及代码实例
2020/06/13 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
2020/09/16 Python
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
英国轻奢珠宝品牌:Astley Clarke
2016/12/18 全球购物
MSC邮轮官方网站:加勒比海、地中海和世界各地的假期
2018/08/27 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
PHP经典面试题
2016/09/03 面试题
开业庆典邀请函
2014/01/08 职场文书
交通安全教育主题班会
2015/08/12 职场文书
nginx实现多geoserver服务的负载均衡
2022/05/15 Servers