मेरे व्यक्तिगत अनुभव से बाहर, एक गुंजाइश उत्प्रेरण के लिए अनाम प्रक्रियाएं का उपयोग कर के अलावा अन्य, मैं भी उस में के लिए-छोरों बंद करने के लिए इस्तेमाल किया है। यह उपयोगी हो सकता है जब एक डोम तत्व को इसकी गिनती को स्टोर करने की आवश्यकता होती है और आपके पास jQuery आदि जैसे पुस्तकालयों तक पहुंच नहीं है।
मान लें कि आपके पास 100 DIV
तत्व हैं। पहले DIV
तत्व पर क्लिक करने से 1 को सचेत करना चाहिए, इसी तरह 56 वें div तत्व पर क्लिक तो 56.
को सचेत करना चाहिए जब इन तत्वों बनाते समय, आप सामान्य रूप से, इस
// Assume myElements is a collection of the aforementioned div elements
for (var i = 0; i < 100; ++i) {
myElements[i].onclick = function() {
alert('You clicked on: ' + i);
};
}
की तरह कुछ इस 99 सूचित करेंगे कर काउंटर के रूप में वर्तमान में 99 है। i
का मान यहां नहीं रखा गया है।
हालांकि, जब एक गुमनाम समारोह समस्या से निपटने के लिए प्रयोग किया जाता है,
for (var i = 0; i < 100; ++i) {
(function(count){
myElements[count].onclick = function() {
alert('You clicked on: ' + count);
};
})(i);
}
यहाँ i
का मूल्य बनाए रखा है और सही गिनती प्रदर्शित होता है।
स्रोत
2012-05-31 10:31:45
इसे आईआईएफई भी कहा जाता है। Http://benalman.com/news/2010/11/immediately-invoked-function-expression/ देखें। –