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

जावास्क्रिप्ट में फंक्शन चेनिंग क्या है?

<घंटा/>

फंक्शन चेनिंग

कार्य श्रृंखला डॉट नोटेशन . का उपयोग करके एक ही पंक्ति में कार्यों को समूहीकृत करने के अलावा और कुछ नहीं है . इस प्रकार की चेनिंग कोड को बहुत संक्षिप्त बनाती है और प्रदर्शन में भी सुधार करती है। यहां हम फंक्शन चेनिंग सीखने जा रहे हैं। नियमित वस्तुओं का उपयोग करना।

a) फंक्शन चेनिंग के बिना

निम्नलिखित उदाहरण में एक वस्तु 'obj' बनाई गई है और उस वस्तु में एक सार्वजनिक संपत्ति . है 'i' नामक कीवर्ड 'यह' . कीवर्ड का उपयोग करके बनाया गया है और शुरू में एक मान 0 दिया गया। बाद में ऐड (), घटाना () और प्रिंट () नामक उपयोगकर्ता परिभाषित कार्यों को एक ही ऑब्जेक्ट 'obj' के अंदर बनाया जाता है। अब, ऑब्जेक्ट "obj" एक वर्ग की तरह काम करेगा (इसके गुण अन्य ऑब्जेक्ट द्वारा साझा किए जा सकते हैं)।

अब 'x' (उपयोगकर्ता परिभाषित) नामक एक और ऑब्जेक्ट 'नया' कीवर्ड का उपयोग करके बनाया गया है और ऑब्जेक्ट "obj" के गुणों का उपयोग करने के लिए सुलभ बनाया गया है। चूंकि, "obj" के अंदर घोषित किए गए फ़ंक्शन जैसे कि ऐड (), घटाना () और प्रिंट () वापस नहीं किए जाते हैं, फ़ंक्शन चेनिंग संभव नहीं है और अपरिभाषित आउटपुट के रूप में प्रदर्शित किया जाता है जबकि व्यक्तिगत रूप से (अनचाही) वे फ़ंक्शन आउटपुट को 3 (उपयोगकर्ता द्वारा प्रदान किए गए '5-2') के रूप में निष्पादित करेंगे।

उदाहरण

<html>
<body>
<script>
   var obj = function(){
      this.i = 0;
      this.add = function(i){
         this.i += i;
       };
       this.subtract = function(i){
          this.i -= i;
       };
       this.print = function(){
          document.write(this.i);
          document.write("</br>");
          document.write(x.add(3));  // returns undefined
       }
   }
   var x = new obj();
   x.add(5);
   x.subtract(2);
   x.print(); // 5-2 = 3 so prints 3.
   x.add(5).subtract(2).print();  //  function chaining is not possible so undefined
</script>
</body>
</html>

आउटपुट

3
undefined

b) फंक्शन चेनिंग के साथ

निम्नलिखित उदाहरण में, उपरोक्त उदाहरण परिदृश्य पर विचार करते हुए, उपयोगकर्ता द्वारा परिभाषित "रिटर्न दिस" स्टेटमेंट का उपयोग करते हुए, ऐड () और सबट्रैक्ट () जैसे फ़ंक्शन वापस किए जाते हैं और आउटपुट के रूप में 3 प्रदर्शित करके फ़ंक्शन चेनिंग को संभव बनाते हैं।

उदाहरण

<html>
<body>
<script>
   var obj = function(){
      this.i = 0;
      this.add = function(i){
         this.i += i;
         return this;
      };
      this.subtract = function(i){
         this.i -= i;
         return this;
      };
      this.print = function(){
         document.write(this.i);
      }
   }
var x = new obj();
x.add(5).subtract(2).print();
</script>
</body>
</html>

आउटपुट

3

  1. जावास्क्रिप्ट में एक अनाम कार्य क्या है?

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

  1. जावास्क्रिप्ट में फंक्शन एक्सप्रेशन क्या हैं?

    फंक्शन एक्सप्रेशन हमें फंक्शन को एक वेरिएबल में स्टोर करने की अनुमति देता है जिसे बाद में वेरिएबल नाम का उपयोग करके लागू किया जा सकता है। उन्हें भी सामान्य फ़ंक्शन घोषणा की तरह फहराया नहीं जाता है, इसलिए उन्हें परिभाषित होने से पहले नहीं बुलाया जा सकता है। जावास्क्रिप्ट में फंक्शन एक्सप्रेशन को लाग

  1. जावास्क्रिप्ट में क्लोजर क्या हैं?

    जावास्क्रिप्ट में क्लोजर हमें बाहरी फ़ंक्शन के निष्पादित होने और वापस आने के बाद भी आंतरिक फ़ंक्शन से बाहरी फ़ंक्शन स्कोप तक पहुंचने की अनुमति देता है। इसका मतलब है कि आंतरिक फ़ंक्शन के पास हमेशा बाहरी फ़ंक्शन चर तक पहुंच होगी। जावास्क्रिप्ट में क्लोजर के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE