Javascript中发生固定结果函数的优化
Javascript中产生固定结果函数的优化
分享一个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.");
显示结果如下: