【整理】两个XMLHttpRequest对象创建函数的比较

Junglesong 发表于 2007-04-01 15:14:19

函数一:
function createXmlHttpRequest (){
  var httprequest=false;
  if (window.XMLHttpRequest)
  { // if Mozilla, Safari etc
    httprequest=new XMLHttpRequest()
    if (httprequest.overrideMimeType)
      httprequest.overrideMimeType('text/xml')
   }
   else if (window.ActiveXObject)
   { // if IE
     try {
       httprequest=new ActiveXObject("Msxml2.XMLHTTP");
     }
     catch (e){
       try{
          httprequest=new ActiveXObject("Microsoft.XMLHTTP");
       }
       catch (e){}
     }
   }
   return httprequest;
}

函数二:
function createXmlHttpRequest (){
     try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(e){};
     try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){};
     try{return new XMLHttpRequest();}catch(e){};
     alert("XmlHttpRequest not supported!");
     return null;
}

评述:
两个函数都能达到创建XmlHttpRequest 对象目的,但第一个失之冗长驳杂,不必要的嵌套过多;第二个用四个字可以概括"大道至简",以很优雅的代码表述了目的,这种用try..Catch减少分支语句层次,和及时返回对象的代码风格值得程序员效仿.

关键词(Tag): xmlhttprequest 代码风格


收藏: QQ书签 del.icio.us 订阅: Google 抓虾

最新评论

发表评论

* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 
 

分类小组论坛
杂谈, 娱乐、八卦, 文学、艺术, 体育, 旅游、同城, 象牙塔, 情感, 时尚、生活, 星座, 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定