ใน JavaScript closure คือการจัดกลุ่มของฟังก์ชันและที่ที่ฟังก์ชันนั้นถูกประกาศ ใน JavaScript ฟังก์ชันทุกตัวทำงานเหมือน closures closure คือฟังก์ชันที่ใช้ขอบเขต (scope) ที่มันถูกประกาศเมื่อถูกเรียก ไม่ใช่ขอบเขตที่มันถูกเรียก
ตัวอย่าง
คุณสามารถลองรันโค้ดต่อไปนี้เพื่อเรียนรู้วิธีทำงานกับ JavaScript closures:
<!DOCTYPE html> <html>
<body>
<h2>Working with 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>