Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

JavaScript Closures vs Anonymous Functions


Anonymous Functions

Anonymous ตามชื่อ สร้างฟังก์ชันโดยไม่มีตัวระบุชื่อ ใช้เป็นอาร์กิวเมนต์ให้ฟังก์ชันอื่นได้ เรียกใช้ผ่านชื่อตัวแปร:

นี่คือวิธีใช้ JavaScript anonymous functions:

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

ตัวอย่างอีกอย่าง:

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

JavaScript Closures

ใน JavaScript ฟังก์ชันทุกตัวทำงานเหมือน closures closure คือฟังก์ชันที่ใช้ขอบเขตที่มันถูกประกาศเมื่อถูกเรียก ไม่ใช่ขอบเขตที่มันถูกเรียก

ตัวอย่าง:

<!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>