$H就是建立Hash对象的便捷方法,关于Hash对象具体参考【Prototype 学习——Hash对象 】 $R就是简历ObjectRange对象的便捷方法,关于ObjectRange对象具体参考【Prototype 学习——ObjectRange对象 】 Try.these: Accepts an arbitrary number of functions and returns the result of the first one that doesn"t throw an error. 复制代码 代码如下: //就是用一个循环嵌套try...catch完成这个工具函数的 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; } };
看一个例子(不同的浏览器有不同的创建XMLHttpRequest的方法): 复制代码 代码如下: getTransport: function() { return Try.these( function() { return new XMLHttpRequest() }, function() { return new ActiveXObject("Msxml2.XMLHTTP") }, function() { return new ActiveXObject("Microsoft.XMLHTTP") } ) || false; }