定义

惰性加载表示函数执行的分支只会在函数第一次调用的时候执行,在第一次调用的过程中,该函数被覆盖为另一个按照合适的方式执行的函数,这样任何对原函数的调用就不用再经过执行的分支。

即首次执行并被重写固化的函数,之后就只会执行被固化后的函数。

例子

  1. var timeStamp = null; // 污染全局
  2. function getTimeStamp(){
  3. if(timeStamp){ // 每次都要判断再输出
  4. return timeStamp;
  5. }
  6. timeStamp = new Date().getTime();
  7. return timeStamp;
  8. }
  9. // 函数内部改变自身的机制 这就是 懒惰函数
  10. var getTimeStamp = function(){
  11. var timeStamp = new Date().getTime();
  12. getTimeStamp = function(){ // 重写
  13. return timeStamp;
  14. }
  15. return getTimeStamp(); // 第一执行时,最后执行重写后的函数
  16. }