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
}
}
}
}
}