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 相关文章推荐
document.getElementById介绍
Sep 13 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
Aug 14 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
Jan 02 Javascript
jquery中val()方法是从最后一个选项往前读取的
Sep 06 Javascript
Javascript中的return作用及javascript return关键字用法详解
Nov 05 Javascript
Jquery Ajax Error 调试错误的技巧
Nov 20 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
Jan 05 Javascript
基于javascript实现九宫格大转盘效果
May 28 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
Sep 16 Javascript
bootstrap提示标签、提示框实现代码
Dec 28 Javascript
js+html5实现侧滑页面效果
Jul 15 Javascript
js 计数排序的实现示例(升级版)
Jan 12 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
日本十大惊悚动漫
2020/03/04 日漫
php 字符串压缩方法比较示例
2014/01/23 PHP
JavaScript版代码高亮
2006/06/26 Javascript
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
XML的代替者----JSON
2007/07/21 Javascript
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
jquery 简单导航实现代码
2009/09/11 Javascript
简单的js表单验证函数
2013/10/28 Javascript
js与jQuery 获取父窗、子窗的iframe
2013/12/20 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
jquery 禁止鼠标右键并监听右键事件
2017/04/27 jQuery
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
javascript中函数的写法实例代码详解
2018/10/28 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
[00:37]食人魔魔法师轮盘吉兆顺应全新至宝将拥有额外款式
2019/12/19 DOTA
Python日期的加减等操作的示例
2017/08/15 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
selenium+python环境配置教程详解
2019/05/28 Python
TensorFlow查看输入节点和输出节点名称方式
2020/01/04 Python
Python同时迭代多个序列的方法
2020/07/28 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
世界上最大的曲棍球商店:Pro Hockey Life
2017/10/30 全球购物
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
渗透攻击的测试步骤
2014/06/07 面试题
体现团队精神的口号
2014/06/06 职场文书
幼师求职信
2014/06/23 职场文书
团日活动总结怎么写
2014/06/25 职场文书
大学计划书范文800字
2014/08/14 职场文书
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸