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 相关文章推荐
formValidator3.3的ajaxValidator一些异常分析
Jul 12 Javascript
用Javascript来生成ftp脚本的小例子
Jul 03 Javascript
javascript 上下banner替换具体实现
Nov 14 Javascript
setTimeout()与setInterval()方法区别介绍
Dec 24 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
Mar 05 Javascript
javascript实现限制上传文件大小
Feb 06 Javascript
详解javascript中的事件处理
Nov 06 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
May 20 Javascript
原生JS取代一些JQuery方法的简单实现
Sep 20 Javascript
使用JavaScript实现表格编辑器(实例讲解)
Aug 02 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
Aug 16 Javascript
vue 百度地图(vue-baidu-map)绘制方向箭头折线实例代码详解
Apr 28 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
初学CAKEPHP 基础教程
2009/11/02 PHP
用php简单实现加减乘除计算器
2014/01/06 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
使用jquery实现放大镜效果
2014/09/02 Javascript
微信jssdk用法汇总
2016/07/16 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
2016/09/04 Javascript
关于Jquery中的事件绑定总结
2016/10/26 Javascript
Vue中img的src属性绑定与static文件夹实例
2017/05/18 Javascript
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
详解Vue 全局变量,局部变量
2019/04/17 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
Python字符串格式化输出方法分析
2016/04/13 Python
python下10个简单实例代码
2017/11/15 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
浅谈python锁与死锁问题
2020/08/14 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
2021/01/05 Python
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
人事专员的岗位职责
2014/03/01 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
委托书格式范文
2015/01/28 职场文书
合作与交流自我评价
2015/03/09 职场文书
Java 多态分析
2022/04/26 Java/Android
解决Mysql报错 Table 'mysql.user' doesn't exist
2022/05/06 MySQL