Javascript xmlHttpRequest对象检测与try..catch

|| 在检查特定浏览器是否支持AJAX时,我通常要做的是对象检测:
if (window.XMLHttpRequest) 
{ 
    xhr = new XMLHttpRequest();
} 
else if (window.ActiveXObject)
{
    xhr = new ActiveXObject(\"Microsoft.XMLHTTP\");
}
但是,每当我看一看由更高级的开发人员编写的代码时,就更有可能看到try-catch块:
try {
   xhr = new ActiveXObject(\"Microsoft.XMLHTTP\");    //IE 
}
catch(e)    // if not IE
{
  xhr = new XMLHttpRequest(); 
}
我知道有人说try..catch速度较慢,但​​是,如果这仅是一个优先考虑的问题,是否有惯例/更多的“标准”方式来做到这一点?很久以前,当我在innerHTML(非标准)和DOM(标准)之间做出决定时,我也处于相同的情况。感谢您的时间。任何建议,将不胜感激。     
已邀请:
        怎么样 xhr =新的XMLHttpRequest()||新的ActiveXObject(\“ Microsoft.XMLHTTP \”); 如果XMLHttpRequest失败,则首选XMLHttpRequest,它使用ActiveXObject(\“ Microsoft.XMLHTTP \”)。 更加优雅和干燥。     

要回复问题请先登录注册