Prototype源码学习之trycatch妙用

来源:互联网 发布:js li 编辑:程序博客网 时间:2024/06/11 08:24
var Try = {  these: function() {    var returnValue;    for (var i = 0, length = arguments.length; i < length; i++) {      var lambda = arguments[i];      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};


还记得看原生态ajax的时候,需要根据浏览器的类型判断用XMLHttpRequest对象还是ActiveXobject对象。
  仔细研究了上面的代码,终于发现这样写的妙处了,大家认为有木有?

 

其实从这个例子我们可以采用try catch语句来处理浏览器的兼容,这样能够在开发中少写很多代码