जावास्क्रिप्ट बंद होने के आसपास अपने सिर को लपेट रहा हूं और उस बिंदु पर हूं जहां चीजें घट रही हैं; जिंदा समारोह वापस आ गया है के बाद रखा, या को बंद करने की एक ढेर फ्रेम जो जब समारोह रिटर्न पुनः आवंटित की जाती नहीं है - यानी को बंद करने के लिए एक समारोह स्थानीय चर है।हमारे पास जावास्क्रिप्ट में बंद क्यों है?
इस अवधारणा को समझने के लिए शुरू कर रहा हूँ, लेकिन अधिक मैं और अधिक सोच पर मैं रखने के समझ में क्यों हम उन्हें इस्तेमाल करने की क्या ज़रूरत है।
इस तरह एक उदाहरण मुझे अवधारणा को समझने में आता है लेकिन मुझे पूछ छोड़ देता है, वहाँ ऐसा करने का एक सरल तरीका है!
function sayHello(name) {
var text = 'Hello ' + name;
var sayAlert = function() { alert(text); }
sayAlert();
}
sayHello('Gath');
मुझे आश्चर्य है कि मुझे स्थानीय चर को जिंदा रखने के लिए क्यों करना है? समारोह समाप्त हो जाने के बाद?
मैं कहाँ उदाहरण बंद द्वारा कार्यान्वित समाधान के दिखा और बाकी कि कुछ भी नहीं काम किया लेकिन बंद है | मिल सकता है?
उत्तर के एक महान बैच के लिए यहां देखें: http://stackoverflow.com/questions/111102/how-does-a-javascript-closure-work –