Lồng hàm trong JavaScript



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>
Quảng cáo

Kết quả

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

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


ham_trong_javascript.jsp


Tài liệu giáo viên