Jabbar2011 发表于 2013-1-29 10:31:58

Prototype源码学习之trycatch妙用

还记得看原生态ajax的时候,需要根据浏览器的类型判断用XMLHttpRequest对象还是ActiveXobject对象。
仔细研究了上面的代码,终于发现这样写的妙处了,大家认为呢?
var Try = {these: function() {    var returnValue;    for (var i = 0, length = arguments.length; i < length; i++) {      var lambda = arguments;      try {      returnValue = lambda();      break;      } catch (e) { }    }    return returnValue;}};var Ajax = {getTransport: function() {    return Try.these(      function() {return new XMLHttpRequest()},      function() {return new ActiveXObject('Msxml2.XMLHTTP')},      function() {return new ActiveXObject('Microsoft.XMLHTTP')}    ) || false;},activeRequestCount: 0};
页: [1]
查看完整版本: Prototype源码学习之trycatch妙用