Trước JavaScript 1.2, định nghĩa hàm chỉ được cho phép trong Global code mức cao nhất, nhưng JavaScript 1.2 cho phép định nghĩa hàm để được lồng vào trong hàm khác. Có một hạn chế là định nghĩa hàm có thể không xuất hiện trong các vòng lặp hoặc điều kiện. Những hạn chế này trên định nghĩa hàm chỉ áp dụng tới khai báo hàm với lệnh function.

Chúng ta sẽ bàn luận sau trong chương tới, các hằng số hàm (function literals), tính năng khác được giới thiệu trong JavaScript 1.2, có thể xuất hiện trong bất kỳ biểu thức JavaScript nào, nghĩa là chúng có thể xuất hiện trong lệnh if hoặc các lệnh khác.

Ví dụ

Bạn thử ví dụ sau để học cách các hàm lồng vào nhau:

<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>

Kết quả

Các bài học JavaScript khác tại s2sontech:




Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Learning English Everyday