Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में सेल्फ-एक्जीक्यूटिंग फंक्शन का उद्देश्य क्या है?

सेल्फ-एक्जीक्यूटिंग फंक्शन (IIFE)

सेल्फ-एक्जीक्यूटिंग फंक्शन जिसे IIFE (Immediately Invoked Function Expression) भी कहते हैं, वह फंक्शन है जो परिभाषित होते ही तुरंत 실행 होता है।

उद्देश्य

  • स्कोप आइसोलेशन: अंदर डिक्लेयर किए गए वैरिएबल्स केवल IIFE के अंदर उपलब्ध होते हैं, ग्लोबल स्कोप को प्रदूषित नहीं करते
  • नेमस्पेसिंग: कोड को मॉड्यूलर बनाता है
  • प्राइवेट स्कोप: डेटा एनकैप्सुलेशन
  • इनिशियलाइज़ेशन: वन-टाइम सेटअप कोड

सिंटैक्स

// मानक (अनुशंसित)
(function() { })();

// वैकल्पिक - पैरेंथेसिस बाहर
(function() { }());

// यूनरी ऑपरेटर्स के साथ (कम आम)
!function() { }();
+function() { }();
~function() { }();
-function() { }();

// एरो फंक्शन IIFE (ES6+)
(() => { })();

// पैरामीटर्स पास करना
(function(name) {
  console.log("Hello " + name);
})("Amit");

व्यावहारिक उदाहरण

1. ग्लोबल स्कोप प्रदूषण रोकना

// समस्या: सभी 5 प्रिंट करते हैं
for (var i = 0; i < 5; i++) {
  setTimeout(function() { console.log(i); }, 100);
}

// IIFE समाधान
for (var i = 0; i < 5; i++) {
  (function(index) {
    setTimeout(function() { console.log(index); }, 100);
  })(i);
}
// या let उपयोग करें (ES6+)
for (let i = 0; i < 5; i++) {
  setTimeout(function() { console.log(i); }, 100);
}

3. मॉड्यूल पैटर्न


आधुनिक विकल्प: ES6 मॉड्यूल्स


नोट: ES6 मॉड्यूल्स (import/export) अब IIFE के अधिकांश उपयोग मामलों को बदल देते हैं, लेकिन IIFE अभी भी लीगेसी कोड और विशिष्ट पैटर्न्स में उपयोगी है।

  1. - जावास्क्रिप्ट में Math.imul() फंक्शन का उपयोग क्या है?

    Math.imul() अन्य गुणा फंक्शन्स के विपरीत, Math.imul() फंक्शन दो पैरामीटर्स के C-जैसे 32-बिट गुणन का परिणाम लौटाता है। इसका अनुप्रयोग Emscripten जैसी परियोजनाओं में बहुत अधिक है। सिंटैक्स var product = Math.imul(a, b); यह मेथड दो संख्याएँ लेता है और उनका गुणन मान देता है। उदाहरण-1 निम्नलिखित उदाहरण

  1. - JavaScript में अनाम फ़ंक्शन क्या है?

    एक फ़ंक्शन एक्सप्रेशन एक फ़ंक्शन डिक्लेरेशन के समान है और उसका सिंटैक्स भी समान है। कोई नामित फ़ंक्शन एक्सप्रेशन परिभाषित कर सकता है (जहां एक्सप्रेशन का नाम कॉल स्टैक में उपयोग किया जा सकता है उदाहरण के लिए) या अनाम फ़ंक्शन एक्सप्रेशन। अनाम फ़ंक्शन एक्सप्रेशन का एक उदाहरण (नाम उपयोग नहीं किया जाता)

  1. - MySQL TRIM() फंक्शन का उद्देश्य क्या है?

    MySQL TRIM() फंक्शन का उपयोग स्ट्रिंग से विशेष सफिक्स या प्रीफिक्स या दोनों को हटाने के लिए किया जाता है। TRIM() फंक्शन के कार्य को इसके सिंटैक्स की मदद से समझा जा सकता है: सिंटैक्स TRIM([{BOTH | LEADING | TRAILING} [str_to_remove] FROM] string) यहां, BOTH आर्गुमेंट का अर्थ है बाएं और दाएं दोनों त