原型 - Try.these 方法



当您想要尝试不同的函数调用直至其中一个有作用的时候,Try.these() 函数会让这件事变得容易。

它采用若干个函数作为参数,然后按序列逐个调用它们,直至其中一个起作用,返回该成功函数调用的结果。

如果没有任何一个块成功,Try.these 将返回未定义,即 false。

语法

Try.these(Function...);

返回值

第一个正确的结果。

示例

不同浏览器中创建 XMLHttpRequest 对象的方法不同。使用 Try.these() 函数,我们可以返回可用的方法。

<html>
   <head>
      <title>Prototype examples</title>
      <script type = "text/javascript" src = "/javascript/prototype.js"></script>
      
      <script>
         createXMLHttp: function() {
            return Try.these(
               function() { return new XMLHttpRequest() },
               function() { return new ActiveXObject('Msxml2.XMLHTTP') },
               function() { return new ActiveXObject('Microsoft.XMLHTTP') }
            ) || false;
         }
      </script>
   </head>

   <body>
      ......
   </body>
</html>

如果没有任何一个块成功,Try.these 将返回未定义,这会导致上面的示例中的 createXMLHttp 方法返回 false,而该结果将作为后备结果值提供给该方法。

prototype_utility_methods.htm
广告