Prototype 1.6 边学边译 -- 工具函数 Try.these
来源:互联网 发布:linux部署多个tomcat 编辑:程序博客网 时间:2024/05/20 22:30
Try.these
Try.these(Function...) -> firstOKResult
接收任意数目的函数作为参数,返回第一个执行成功的函数(未抛出异常的函数)的结果。
该函数提供一种简单的对按照某种顺序排列的分组代码块进行检测的方法。被检测函数的执行顺序通常依照某个给定的特性, 根据函数和特性的相符程度由高到低进行排列(译注:类似于设计模式中的“职责链[chain of responsibility]”模式)。
在 Prototype 的 Ajax
那一节的样例中,我们希望获取一个 XMLHttpRequest
对象,然而,在 IE6 及其早期版本中,并没有提供内置的 XMLHttpRequest
Javascript 对象,如果我们试图实例化该对象,将会抛出一个异常。并且,随着时间的推移,在各个版本的 IE 中,该对象独有的创建方式也随之变化,COM 接口名称也不尽相同。
Try.these
会按照一定的顺序测序多种方法,从最佳的(从理论上来说也是最普遍的)一直到最原始及最少见的方法, 返回第一个执行成功的函数的结果。
如果没有执行成功的函数,Try.these
将返回 undefined
,在下面的样例中, 它会导致 getTransport
方法返回 false
,并作为最终的返回结果。
getTransport: function(){return Try.these(function() { return new XMLHttpRequest() }, function() { return new ActiveXObject('Msxml2.XMLHTTP') }, function() { return new ActiveXObject('Microsoft.XMLHTTP') } ) || false; }
- Prototype 1.6 边学边译 -- 工具函数 Try.these
- Prototype学习——工具函数($H,$R,Try.these,document.getElementsByClassName)
- prototype.js的系列文章——Try.these())函数
- Prototype 1.6 边学边译 -- 工具函数 $
- Prototype 1.6 边学边译 -- 工具函数 $$
- Prototype 1.6 边学边译 -- 工具函数 $$
- Prototype 1.6 边学边译 -- 工具函数 $A
- Prototype 1.6 边学边译 -- 工具函数 $F
- Prototype 1.6 边学边译 -- 工具函数 $H
- Prototype 1.6 边学边译 -- 工具函数 $R
- Prototype 1.6 边学边译 -- 工具函数 $w
- Prototype 1.6 边学边译 -- 工具函数 document.getElementsByClassName
- Prototype 1.6 边学边译 -- 常用工具函数
- Prototype 学习——工具函数学习($方法)
- Prototype 学习——工具函数学习($A方法)
- Prototype 学习——工具函数学习($w,$F方法)
- Ajax学习笔记之Prototype的工具函数汇总
- prototype $() 函数
- java反射机制的常见应用
- 电视剧《奋斗》精彩对白节选---(七)
- 电视剧《奋斗》精彩对白节选---(八)
- 新人报道
- 电视剧《奋斗》精彩对白节选---(九)
- Prototype 1.6 边学边译 -- 工具函数 Try.these
- 电视剧《奋斗》精彩对白节选---(十)
- 电视剧《奋斗》精彩对白节选---(十一)
- export命令(转载)
- Prototype 1.6 边学边译 -- Ajax
- 如何向系统菜单中动态添加菜单项
- PHP的Socket函数参考(结合上两篇)
- Leopard内置字典添加中英字典
- 大家给我个建议