六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 38|回复: 0

Prototype源码学习之trycatch妙用

[复制链接]

升级  8%

14

主题

14

主题

14

主题

秀才

Rank: 2

积分
62
 楼主| 发表于 2013-1-23 01:17:21 | 显示全部楼层 |阅读模式
还记得看原生态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};
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表