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

जावास्क्रिप्ट में सेल्फ-इन्वोकिंग फ़ंक्शन (IIFE)


परिचय

जावास्क्रिप्ट में सेल्फ-इन्वोकिंग फ़ंक्शन को **इमीडिएटली इनवोक्ड फ़ंक्शन एक्सप्रेशन (IIFE)** के रूप में जाना जाता है। IIFE एक जावास्क्रिप्ट फ़ंक्शन है जो परिभाषित होते ही तुरंत निष्पादित होता है, इसलिए IIFE को मैन्युअली इनवोक करने की आवश्यकता नहीं होती। यह प्राइवेट स्कोप बनाने और ग्लोबल नेमस्पेस प्रदूषण से बचने के लिए उपयोगी है।

उदाहरण

निम्न कोड जावास्क्रिप्ट में सेल्फ-इन्वोकिंग फ़ंक्शन (IIFE) के लिए है:

<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>IIFE उदाहरण</title> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .sample { font-size: 18px; font-weight: 500; } </style> </head> </head> <body> <h1>जावास्क्रिप्ट इमीडिएटली इनवोक्ड फ़ंक्शन एक्सप्रेशन्स (IIFE)</h1> <div class="sample"></div> <script> const sampleEle = document.querySelector(".sample"); // IIFE पैटर्न: (function() { ... })() (function () { sampleEle.innerHTML = 'यह कोड परिभाषित होते ही तुरंत इनवोक हो जाता है'; })(); </script> </body> </html>

आउटपुट

उपरोक्त कोड निम्न आउटपुट उत्पन्न करेगा:

जावास्क्रिप्ट में सेल्फ-इन्वोकिंग फ़ंक्शन (IIFE)

IIFE वेरिएशन्स

// मानक IIFE
(function() { /* कोड */ })();

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

// पैरामीटर्स के साथ
((name) => { console.log('नमस्ते ' + name); })('रोहन');

// रिटर्न वैल्यू के साथ
const result = (function() { return 42; })();

// अनाम फ़ंक्शन एक्सप्रेशन (पैरेंथेसिस के बिना - सिंटैक्स एरर)
// function() {}() // SyntaxError

उपयोग के मामले

  • प्राइवेट स्कोप - ग्लोबल नेमस्पेस को प्रदूषित किए बिना वेरिएबल्स एनकैप्सुलेट करें
  • इनिशियलाइज़ेशन कोड - एक बार चलने वाला सेटअप कोड
  • मॉड्यूल पैटर्न - पब्लिक API के साथ प्राइवेट स्टेट लौटाएं
  • लूप में क्लोजर कैप्चर करना (ES6 let से पहले)

आधुनिक विकल्प

ES6 मॉड्यूल्स (import/export) अब कोड ऑर्गनाइज़ेशन और एनकैप्सुलेशन के लिए पसंदीदा तरीका है।

  1. JavaScript Number() फंक्शन JavaScript Number() फंक्शन

    JavaScript Number() फंक्शन ऑब्जेक्ट वैल्यू को तर्क के रूप में पास करके उसके संबंधित न्यूमेरिक वैल्यू में बदल देता है।उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width,

  1. जावास्क्रिप्ट में फ़ंक्शन प्रोटोटाइप जावास्क्रिप्ट में फ़ंक्शन प्रोटोटाइप

    जावास्क्रिप्ट में बनाए गए फ़ंक्शन्स में हमेशा जावास्क्रिप्ट इंजन द्वारा प्रोटोटाइप प्रॉपर्टी जोड़ी जाती है। प्रोटोटाइप प्रॉपर्टी एक ऑब्जेक्ट है जिसमें डिफ़ॉल्ट रूप से कंस्ट्रक्टर प्रॉपर्टी होती है। फ़ंक्शन प्रोटोटाइप को निम्न द्वारा एक्सेस किया जा सकता है - functionName.prototype जब ऑब्जेक्ट्स को फ

  1. जावास्क्रिप्ट में फ़ंक्शन बॉरोइंग जावास्क्रिप्ट में फ़ंक्शन बॉरोइंग

    call(), apply() और bind() का उपयोग जावास्क्रिप्ट में मेथड्स बॉरो करने के लिए किया जाता है। जावास्क्रिप्ट में मेथड्स बॉरो करने के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport&qu