zoukankan      html  css  js  c++  java
  • 惰性函数

    什么是惰性函数?

    我的理解是,在运行一次之后,通过判断,重写函数,简化逻辑.

     1 function createXhr(){
     2     var xhr=null;
     3     if(typeof XMLHttpRequest!='undefined'){
     4         xhr=new XMLHttpRequest();
     5         createXhr=function(){
     6             return new XMLHttpRequest();
     7         }
     8     }else{
     9         try{
    10             xhr=new ActiveXObject('Msxml2.XMLHTTP');
    11             createXhr=function(){
    12                 return new ActiveXObject('Msxml2.XMLHTTP');
    13             }
    14         }catch(e){
    15             xhr=new ActiveXObject('Microsoft.XMLHTTP');
    16             createXhr=function(){
    17                 return new ActiveXObject('Microsoft.XMLHTTP');
    18             }
    19         }
    20     }
    21     return xhr;
    22 
    23 }
    24 createXhr();

    第一次运行时,判断ajax实现方式,判断完成后,让createXhr直接指向针对该版本的函数,也就是说,createHhr所代表的函数改变了.

    从下次开始,我们创建ajax对象的时候,就用的是这个新的函数了,旧版本里的判断就不需要再执行了.简化了逻辑,提高了效率(一点点).

  • 相关阅读:
    ibatis报错
    struts配置时遇到的几个问题
    快乐工作,快乐生活
    浅谈协方差矩阵理解篇
    类成员变量初始化
    类对象所占内存空间总结
    const 成员函数
    Qt对话框QDialog
    const引用返回值
    Qt 对象间的父子关系
  • 原文地址:https://www.cnblogs.com/zhangfengyang/p/4818208.html
Copyright © 2011-2022 走看看