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 相关文章推荐
让IE6支持min-width和max-width的方法
Jun 25 Javascript
基于Jquery的淡入淡出的特效基础练习
Dec 13 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
Aug 13 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
Sep 15 Javascript
file控件选择上传文件确定后触发的js事件是哪个
Mar 17 Javascript
javascript函数命名的三种方式及区别介绍
Mar 22 Javascript
jQuery EasyUI封装简化操作
Sep 18 Javascript
JavaScript获取ul中li个数的方法
Feb 13 Javascript
javascript 组合按键事件监听实现代码
Feb 21 Javascript
angular directive的简单使用总结
May 24 Javascript
vue实现与安卓、IOS交互的方法
Nov 02 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
Apr 20 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 url 加密解密函数代码
2011/08/26 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
2020/01/07 PHP
json 实例详细说明教程
2009/10/31 Javascript
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
BootStrap3学习笔记(一)之网格系统
2016/05/20 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
JS表单数据验证的正则表达式(常用)
2017/02/18 Javascript
Bootstrap输入框组件简单实现代码
2017/03/06 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
2018/10/02 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
[40:17]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第一场
2018/04/06 DOTA
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
超简单的Python HTTP服务
2019/07/22 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
Champion澳大利亚官网:美国冠军运动服装
2018/05/07 全球购物
在家更换处方镜片:Lensabl
2019/05/01 全球购物
初任培训自我鉴定
2013/10/07 职场文书
员工拾金不昧表扬信
2014/01/09 职场文书
狼和鹿教学反思
2014/02/05 职场文书
对教师的评语
2014/04/28 职场文书
求职信怎么写范文
2014/05/26 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
实习报告怎么写
2019/06/20 职场文书
MySQL root密码的重置方法
2021/04/21 MySQL
MySQL 慢查询日志深入理解
2021/04/22 MySQL