2009-03-05 15 views

उत्तर

12

इसमें परिचय की जांच करें: http://jibbering.com/faq/faq_notes/closures.html। इससे आपको यह समझने में मदद मिल सकती है कि क्लोजर फ़ंक्शंस से कैसे संबंधित हैं। http://www.javascriptkit.com/javatutors/closures2.shtml

असल में, कॉलबैक एक समारोह सूचक की तरह है:

यहाँ बंद उदाहरण के एक सेट है। वह बिट जो इसे बंद कर देता है, वह तब होता है जब वह फ़ंक्शन उस संदर्भ पर कुछ भी एक्सेस करता है जहां यह रहता है, जैसे इसके बाहर चर। जब ऐसा होता है, तो फ़ंक्शन चर के वर्तमान मानों का उपयोग करेगा (जैसा कि उन्हें कॉपी करने के विपरीत)। उदाहरण देखें 4.

+0

आह हाँ, यह श्री फ्रेड को साफ़ करता है। धन्यवाद! :) – leeand00

4

वहाँ बंद here का एक अच्छा परिभाषा है:

ए 'बंद' (एक अभिव्यक्ति (आमतौर पर एक समारोह) एक वातावरण है कि वे चर बांधता के साथ एक साथ मुक्त चर हो सकता है यह है कि " अभिव्यक्ति को बंद कर देता है)।

प्रैक्टिस में, इसका मतलब है कि यह एक ऐसा फ़ंक्शन है जिसमें कुछ छुपे हुए चर हैं।

एक कॉलबैक एक उच्च स्तरीय विचार है। आम तौर पर यह एक ऐसा कार्य होता है जिसे बाद में बुलाए जाने के इरादे से पारित किया जाता है। जावास्क्रिप्ट में, क्लोजर अक्सर कॉलबैक के रूप में उपयोग किया जाता है।

7

भिन्न परिभाषाएँ:

Callback -

एक कॉलबैक निष्पादन योग्य कोड है कि अन्य कोड के लिए एक तर्क के रूप में पारित किया गया है।

Closure -

को बंद करने के लिए एक समारोह है कि एक या अधिक बाध्य चर युक्त वातावरण में मूल्यांकन किया जाता है है। जब कॉल किया जाता है, फ़ंक्शन इन चरों तक पहुंच सकता है।

-1

मैं यह देखने में असफल रहा कि दोनों कैसे संबंधित हैं? एक बंद करने से स्थानीय राज्य के कुछ हिस्सों को किसी प्रकार के कार्य में रखा जाता है, इसके बारे में सोचकर इसे संदर्भित किया जाता है।

एक कॉलबैक आपको कुछ बदलाव के बारे में सूचित करने के लिए है और यह प्रोग्राम प्रवाह को पुनर्निर्देशित करता है। बंद स्थानीय स्थिति को संशोधित कर सकता है लेकिन आपको इसे संभालने के लिए प्रोसेसर समय कभी नहीं मिलेगा, जैसे कि आप कॉलबैक के साथ करेंगे।

+0

किसी ने मुझे बताया कि दोनों यहां से संबंधित हैं: http: // stackoverflow।com/प्रश्न/615,642/करता है-यह फिट-अपने परिभाषा के-एक-कॉलबैक/615,752 # 615,752 – leeand00

1

एक संदर्भ परिवर्तनीय उर्फ ​​बाध्य चर (== ऑब्जेक्ट स्थिति) के आधार पर एक कॉलबैक बंद हो जाएगा। यह एक शुद्ध कार्य होगा, अन्यथा, जब यह केवल मुफ्त चर (== पैरामीटर) लेता है।

3

सरल शब्दों में: संदर्भ चर का उपयोग कर एक कॉलबैक एक बंद है।

संबंधित मुद्दे