Prototype - Try.these 方法

Try.these() 函数可让您轻松尝试不同的函数调用,直到其中一个成功。

它以多个函数作为参数,并按顺序逐个调用它们,直到其中一个成功,并返回该成功函数调用的结果。

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

语法

Try.these(Function...);

返回值

第一个 OK 结果。

示例

在不同的浏览器中,创建 XMLHttp 对象的方法不同。使用 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.html