JavaScript惰性函数

2017-05-06  本文已影响0人  check_ping

惰性函数

定义:

惰性函数,函数内部有许多判断来来检测函数,这样多次调用会浪费时间和浏览器资源,所有当第一次判断完成后,直接把这个函数改写,下次调用时不再需要判断。

  function createXHR(){
     var xhr;
     try{
          xhr=new XMLHttpRequest();
     }catch(e){
          try{
               xhr=new ActiveXobject('Msxm12.XMLHTTP');
          }catch (e){
               try{
                    xhr=new ActiveXobject("Microsoft.XMLHTTP")
               }catch(e){
                 alert("您的浏览器找不到xhr对象")
                  return false;
               }
          }
     }
     return xhr;
}

惰性函数写法

function createXHR(){
     var xhr=null;
     if(typeof XMLHttpRequest!='undefined'){
          xhr=new XMLHttpRequest();
         createXHR=function(){
               return XMLHttpRequest();  
          }
      }else{
          try{
               xhr=new ActiveXObject("Msxml2.XMLHTTP");
              createXHR=function(){
                    return new ActiveXObject("Msxml2.XMLHTTP");
               }
          }catche(e){
               try{
                    xhr =new ActiveXObject("Microsoft.XMLHTTP");
                    createXHR=function(){
                         return new ActiveXObject("Microsoft.XMLHTTP");
                    }
               }catch(e){
                    createXHR=function(){
                         return null
                    }
               }        
         }
     }
}
上一篇下一篇

猜你喜欢

热点阅读