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 相关文章推荐
JS延迟加载(setTimeout) JS最后加载
Jul 15 Javascript
js控制href内容的连接内容的变化示例
Apr 30 Javascript
js实现jquery的offset()方法实例
Jan 10 Javascript
基于js实现checkbox批量选中操作
Nov 22 Javascript
Asp.Net之JS生成分页条的方法
Nov 23 Javascript
js通过classname来获取元素的方法
Nov 24 Javascript
js实现3d悬浮效果
Feb 16 Javascript
详解Node.js中的Async和Await函数
Feb 22 Javascript
Vuejs开发环境搭建及热更新【推荐】
Sep 07 Javascript
javascript面向对象程序设计实践常用知识点总结
Jul 29 Javascript
mpvue微信小程序开发之实现一个弹幕评论
Nov 24 Javascript
JS如何把字符串转换成json
Feb 21 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
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
PHP+ACCESS 文章管理程序代码
2010/06/21 PHP
php数组的一些常见操作汇总
2011/07/17 PHP
php实现点击可刷新验证码
2015/11/07 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
jQuery链式调用与show知识浅析
2016/05/11 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
js实现HashTable(哈希表)的实例分析
2016/11/21 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
详解Javascript 中的 class、构造函数、工厂函数
2017/12/20 Javascript
微信小程序实现tab页面切换功能
2018/07/13 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
vue 组件间的通信之子组件向父组件传值的方式
2020/07/29 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
线程和进程的区别及Python代码实例
2015/02/04 Python
Python实现导出数据生成excel报表的方法示例
2017/07/12 Python
Python编程之string相关操作实例详解
2017/07/22 Python
Python模块结构与布局操作方法实例分析
2017/07/24 Python
Python中read()、readline()和readlines()三者间的区别和用法
2017/07/30 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
python中嵌套函数的实操步骤
2019/02/27 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
Django RBAC权限管理设计过程详解
2019/08/06 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
SHEIN美国:购买时髦的女性服装
2020/12/02 全球购物
自我评价是什么
2014/01/04 职场文书
设计师求职信模板
2014/05/06 职场文书