Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Closure vs Anonymous Function trong JavaScript


Anonymous Functions (Hàm vô danh)

Anonymous, như tên gọi, cho phép tạo hàm không có tên định danh. Dùng làm đối số cho hàm khác. Gọi qua tên biến:

Cách dùng anonymous function:

var func = function() {    alert(‘This is anonymous'); } func();

Ví dụ khác:

setTimeout(function() {    alert('Demo'); }, 3000);

JavaScript Closures

Trong JS, tất cả hàm hoạt động như closure. Closure là hàm dùng phạm vi nơi nó khai báo khi gọi. Không phải phạm vi nơi nó được gọi.

Ví dụ:

<!DOCTYPE html> <html>    <body>       <h2>JavaScript Closures</h2>       <script>          var p = 20;          function a() {             var p = 40;             b(function() {                alert(p);             });          }          function b(f) {             var p = 60;             f();          }          a();       </script>    </body> </html>