JavaScript function closure is the grouping of a function and where that function was declared. In JavaScript, all functions work like closures. A closure is a function uses the scope in which it was declared when invoked. It is not the scope in which it was invoked.
Here’s an example
Live Demo
<!DOCTYPEhtml> <html> <body> <h2>Working with JavaScript Closures</h2> <script> var num = 10; function a() { var num = 15; b(function() { alert(num); }); } function b(f) { var num = 30; f(); } a(); </script> </body> </html>