⊗jsPmClCNG 265 of 505 menu

জাভাস্ক্রিপ্টে গ্লোবাল কাউন্টার ভেরিয়েবল

ভেরিয়েবল num কে ফাংশনের বাইরে নিয়ে যাওয়া যাক, যার মাধ্যমে এটিকে গ্লোবাল করা হয়েছে:

let num = 1; // গ্লোবাল ভেরিয়েবল function test() { return function() { console.log(num); num++; }; }

এই ক্ষেত্রে, সমস্ত রিটার্ন করা ফাংশন এই গ্লোবাল ভেরিয়েবলটি পরিবর্তন করবে এবং কাউন্টারগুলি একে অপরের উপর নির্ভরশীল হয়ে কাজ করবে:

let num = 1; function test() { return function() { console.log(num); num++; }; } let func1 = test(); // প্রথম কাউন্টার func1(); // আউটপুট হবে 1 func1(); // আউটপুট হবে 2 let func2 = test(); // দ্বিতীয় কাউন্টার func2(); // আউটপুট হবে 3 func2(); // আউটপুট হবে 4

কেন আমাদের আগের কোডটি স্বাধীন কাউন্টার তৈরি করেছিল? আমি এই কোডটি স্মরণ করিয়ে দিচ্ছি:

function test() { let num = 1; return function() { console.log(num); num++; }; };

ব্যাপারটি হল যে num ভেরিয়েবলটি test ফাংশনের ভিতরে লোকাল। সুতরাং test এর প্রতিটি কল এর নিজস্ব লোকাল ভেরিয়েবল তৈরি করে।

অতএব, রিটার্ন করা ফাংশনগুলি test ফাংশনের তাদের নিজস্ব লোকাল ভেরিয়েবলের উপর রেফারেন্স করবে। এইভাবেই স্বাধীন অপারেশন অর্জন করা হয়।

যদি num কে একটি গ্লোবাল ভেরিয়েবল করা হয় - এটিও একটি ক্লোজার হবে। শুধুমাত্র রিটার্ন করা ফাংশনগুলির লেক্সিকাল পরিবেশ একই num ভেরিয়েবলের উপর রেফারেন্স করে - এই ভেরিয়েবলের যেকোনো পরিবর্তন সমস্ত ফাংশনে দৃশ্যমান হবে।

কód চালু না করে নির্ধারণ করুন কী কনসোলে আউটপুট হবে:

let counter = 0; function test() { return function() { console.log(counter); counter++; }; } let func = test; let func1 = func(); let func2 = func(); func1(); func2(); func1(); func2();

কód চালু না করে নির্ধারণ করুন কী কনসোলে আউটপুট হবে:

function test() { let counter = 0; return function() { return function() { console.log(counter); counter++; }; }; } let func = test()(); let func1 = func; let func2 = func; func1(); func2(); func1(); func2();

কód চালু না করে নির্ধারণ করুন কী কনসোলে আউটপুট হবে:

function test() { let counter = 0; return function() { return function() { console.log(counter); counter++; }; }; } let func = test(); let func1 = func(); let func2 = func(); func1(); func2(); func1(); func2();
বাংলা
AfrikaansAzərbaycanБългарскиБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন