কম্পিউটার

জাভাস্ক্রিপ্টে ফাংশন চেইনিং কি?


ফাংশন চেইনিং

ফাংশন চেইনিং ডট নোটেশন ব্যবহার করে একটি একক লাইনে ফাংশনগুলিকে গ্রুপ করা ছাড়া কিছুই নয় . এই ধরনের চেইনিং কোডকে খুব সংক্ষিপ্ত করে তোলে এবং কর্মক্ষমতাও উন্নত করে। এখানে আমরা ফাংশন চেইনিং শিখব। নিয়মিত বস্তু ব্যবহার করে

a) ফাংশন চেইনিং ছাড়াই

নিম্নলিখিত উদাহরণে একটি বস্তু 'obj' তৈরি করা হয়েছে এবং সেই বস্তুটিতে একটি সর্বজনীন সম্পত্তি 'i' নামক কীওয়ার্ড 'this' ব্যবহার করে তৈরি করা হয় এবং প্রাথমিকভাবে একটি মান 0 বরাদ্দ করা হয়। পরবর্তীতে ব্যবহারকারীর সংজ্ঞায়িত ফাংশনে add(), বিয়োগ() এবং print() একই অবজেক্ট 'obj'-এর ভিতরে তৈরি হয়। এখন, অবজেক্ট "obj" একটি ক্লাসের মত কাজ করবে (এটির বৈশিষ্ট্য অন্যান্য অবজেক্ট দ্বারা শেয়ার করা যেতে পারে)।

এখন 'x' (ব্যবহারকারীর সংজ্ঞায়িত) নামক আরও একটি বস্তু 'নতুন' কীওয়ার্ড ব্যবহার করে তৈরি করা হয়েছে এবং অবজেক্টের বৈশিষ্ট্যগুলি ব্যবহার করার জন্য অ্যাক্সেসযোগ্য করা হয়েছে। যেহেতু, "obj" এর ভিতরে ঘোষিত ফাংশন যেমন add(), বিয়োগ() এবং print() ফেরত দেওয়া হয় না, তাই ফাংশন চেইনিং সম্ভব নয় এবং অনির্ধারিত আউটপুট হিসাবে প্রদর্শিত হয় যেখানে পৃথকভাবে (অশৃঙ্খিত) এই ফাংশনগুলি 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) ফাংশন চেইনিং সহ

নিম্নলিখিত উদাহরণে, উপরোক্ত উদাহরণের পরিস্থিতি বিবেচনা করে, ব্যবহারকারীর দ্বারা সংজ্ঞায়িত "রিটার্ন দিস" স্টেটমেন্ট ব্যবহার করে, add() এবং বিয়োগ() এর মত ফাংশনগুলি ফেরত দেওয়া হয় এবং সেখানে 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. জাভাস্ক্রিপ্টে setTimeout() পদ্ধতি কি?

  2. জাভাস্ক্রিপ্টে একটি বেনামী ফাংশন কি?

  3. জাভাস্ক্রিপ্টে ফাংশন এক্সপ্রেশন কি?

  4. জাভাস্ক্রিপ্টে বন্ধ কি?