依次执行传给他的几个方法,直到有一个成功返回,在写浏览器兼容性代码的时候,可能会很有用。下面是我原来写的一段JS代码,用Try.these()改造一下。原来的代码(这段代码是创建一个XMLHttpRequest对象)
function newXMLHttpRequest() { if(window.ActiveXObject) { isIE=true; try { //xmlhttp return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e1) {} try { //xmlhttp return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) {} }else { isIE=false; return new XMLHttpRequest(); } alert("初始化xmlHTTP对象出现异常"); return false; }
修改以后的代码:
function newXMLHttpRequest() { return Try.these( function(){return new ActiveXObject("Msxml2.XMLHTTP");}, function(){new ActiveXObject("Microsoft.XMLHTTP");}, function(){return new XMLHttpRequest();} ); return false; }
改造以后代码变得相当的简洁。