Trong JavaScript, closure là sự gom nhóm của một hàm và nơi hàm đó được khai báo. Tất cả hàm trong JS hoạt động như closure. Closure là hàm sử dụng phạm vi nơi nó được khai báo khi được gọi. Không phải phạm vi nơi nó được gọi.
Ví dụ
Chạy mã sau để hiểu closure trong JavaScript:
<!DOCTYPE html> <html> <body> <h2>Làm việc với JavaScript Closures</h2> <script> var p = 10; function a() { var p = 15; b(function() { alert(p); }); } function b(f){ var p = 30; f(); } a(); </script> </body> </html>