分享一个Javascript编写函数的优化技巧。
适用的函数应该要满足以下条件:
代码和分析如下:
//产生固定结果并且在页面中多次调用的函数
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.");
显示结果如下:
- 大小: 10.3 KB
分享到:
相关推荐
分享一个Javascript编写函数的优化技巧;适用的函数应该要满足以下条件;产生固定结果;复杂或较耗时等等,感兴趣的朋友可以了解下
只能执行存储过程中固定的代码 限制输入长度 防止黑客输入超大字符串,导致服务器瘫痪 防止黑客输入较长的恶意脚本等 实现方法:文本框的MaxLength属性 URL重写技术 示例: http://testWeb/news.aspx?id=111 ...
[* 2012年10月04日,ABR - 改进(0125385):优化的func_query_hash()函数。新增的测试。 [*] 2012年9月28日,ABR - 改进(0126569):改进的JavaScript代码缩进。 [*] 2012年9月28日,ABR - 改进(0126474):...
Oracle中PL/SQL单行函数和组函数详解 mssql+oracle Oracle编程的编码规范及命名规则 Oracle数据库字典介绍 0RACLE的字段类型 事务 CMT DEMO(容器管理事务演示) 事务隔离性的一些基础知识 在组件之间实现事务和异步...
在蓝色理想学习了N年,今天第一次发点自己的原创,因为我曾为解决该问题花了不少时间,主要是网络上找到的代码要么非常烦琐,要么不能通用或格式只能固定几个,所以我专门对这个问题进行了研究,最终优化到只有2行...
正如Using Deferreds in jQuery 1.5一文中说明的,其结果是在jQuery中能够将依赖于某个任务(事件)结果的逻辑与任务本身解耦了。这一点在JavaScript中其实并不新鲜,Mochikit和Dojo等已经实现有些日子了。由于...
测量和优化Universe.step()函数。 衡量random-js和prob.js的性能以确保它不是一个巨大的瓶颈。 添加具有缩放和跟踪功能的摄像头逻辑。已知错误渲染性能目前很差(18-20 fps)。 尚无用于缩放/重置的键盘映射。发展...
超实用的jQuery代码段精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台、跨...
防抖:设置固定的周期,让连续触发的函数按照固定周期执行。区别:防抖是连续触发如果未超过设定时间则不执行,而节流在连续触发中按照设定的周期时间多次执行。使用场景:节流:常用在页面监听滚动事件时使用,例如...
4、详尽演示FireFox中ExtJs的调试及VS2008中javascript的调试方法; 5、了解ExtJs代码的混淆、加密与优化; 6、了解大型实际商业OA项目流程及实战如何使用Ext快速开而简单地开发单页面应用。 注:如果你也在思考...
产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,...
从这两个核心方法(get/put)可以看出 1.8 中对大链表做了优化,修改为红黑树之后查询效率直接提高到了 O(logn)。 但是 HashMap 原有的问题也都存在,比如在并发场景下使用时容易出现死循环。 final HashMap, ...
获取访问Web App点击访问 fleet.diablohu.comWeb App针对手机与平板设备进行了优化适配,可用移动平台浏览器访问后选择将该Web App固定到主屏幕上,以便日后使用。获取客户端版本百度网盘 | OneDrive支持的操作系统...
产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,...
产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,...