JS中产生固定结果函数的优化

2013-01-16clown_ 的分享   加三联MM小编微信好友:sanlian2018

  适用的函数应该要满足以下条件:

  产生固定结果

  页面中多次调用

  复杂或较耗时

  代码和分析如下:

  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.");

  显示结果如下:

TA发布的帖子

881

收藏

605