无涯教程-JavaScript Nested Functions

84 阅读1分钟

在JavaScript 1.2之前,仅在Top Level Global代码中允许使用函数定义,但是JavaScript 1.2允许将函数定义也嵌套在其他函数中。仍然有一个限制,即函数定义不能出现在循环或条件中,这些对函数定义的限制仅适用于带有函数语句的函数声明。

请尝试运行以下示例,以了解如何实现嵌套函数。

<html>
   <head>
      <script type="text/javascript">
         <!--
            function hypotenuse(a, b) {
               function square(x) { return x*x; }
               return Math.sqrt(square(a) + square(b));
            }
            function secondFunction() {
               var result;
               result=hypotenuse(1,2);
               document.write ( result );
            }
         //-->
      </script>
   </head>
   
   <body>
      <p>Click the following button to call the function</p>
      
      <form>
         <input type="button" onclick="secondFunction()" value="Call Function">
      </form>
      
      <p>Use different parameters inside the function and then try...</p>
   </body>
</html>

参考链接

www.learnfk.com/javascript/…