Javascript 嵌套函数

在 JavaScript 1.2 之前,仅允许在顶级全局代码中定义函数,但 JavaScript 1.2 也允许将函数定义嵌套在其他函数中。但是仍然存在函数定义不能出现在循环条件if条件中的限制。这些对函数定义的限制仅适用于带有函数语句的函数声明。

正如我们将在下一章稍后讨论的那样,函数字面量(JavaScript 1.2 中引入的另一个特性)可以出现在任何 JavaScript 表达式中,这意味着它们可以出现在if和其他语句中。

示例

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

<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>点击以下按钮调用函数</p>
      
      <form>
         <input type = "button" onclick = "secondFunction()" value = "调用函数">
      </form>
   </body>
</html>

尝试一下

查看笔记

扫码一下
查看教程更方便