জাভাস্ক্রিপ্ট ফর লুপ টিউটোরিয়াল (JavaScript For Loop Tutorial in Bangla)



ফর লুপ দিয়েও while লুপের কাজ করা যায়। ফর লুপ দিয়ে যেসব কাজ হয় while দিয়েও ঐ কাজ করা যাবে। ফর লুপ while এর মতই pretest লুপ, মানে আগে কন্ডিশন চেক করবে এরপর true হলে লুপের অভ্যন্তরের কোড এক্সিকিউট হবে। ফর লুপে ৩ টি এক্সপ্রেশন থাকতে পারে
১. ভেরিয়েবল initialization : প্রথম এক্সপ্রেশন দিয়ে ভেরিয়েবল initialize করা হয় এবং এই এক্সপ্রেশন লুপ এক্সিকিউট হওয়ার আগেই এক্সিকিউট বা চেক হবে।
২. কন্ডিশন : এরপর একটা কন্ডিশন দেয়া হয় যেটা চেক করে true রিটার্ন করলে লুপ এক্সিকিউট হবে, তবে এটিও ঐচ্ছিক যদি এই্ কন্ডিশন না দেয়া হয় তাহলে ফর লুপ বাই ডিফল্ট true রিটার্ন করে।
৩. শেষ এক্সপ্রেশন : এটা দিয়ে ভেরিয়েবলটি আপডেট করা হয় (বাড়ানো কিংবা কমানো হয়)। এটা সবার শেষে এক্সিকিউট হয়। প্রতিবার লুপ ঘুরে আসার পর এটি এক্সিকিউট হয়।
1.for(i = 10; i > 0; i--){
2. 
3.document.write(i + '<br/>');
4. 
5.}
প্রয়োগ দেখুন

ব্যাখ্যা: এখানে প্রথমে লুপে i এর মান ১০ দিয়ে initialize করেছি।
এরপর সেমিকোলন (;) দিয়ে দ্বিতীয় এক্সপ্রেশন লিখতে হয় যেমন i > 0 দিয়েছি এটা হচ্ছে কন্ডিশন। প্রতিবার লুপ ঘোরার সময় এই কন্ডিশন চেক হবে।
শেষে i-- দিয়ে i এর মান এক করে কমিয়েছি। এটা হচ্ছে শেষ এক্সপ্রেশন।

১. প্রথমবার লুপটি দেখবে i = 10 এবং এরপর দেখবে i এর মান ০ এর চেয়ে বড় কিনা, যেহেতু ১০ শূন্যের চেয়ে বড় তাই পরের এক্সপ্রেশনে (i--) যাবে এবং মান ১ কমাবে এবং লুপে প্রবেশ করে document.write(i + '<br/>'); এক্সিকিউট করবে (i মান লিখে দিবে)।
২. দ্বিতীয়বার i এর মান ৯ হয়ে গেল কেননা এক কমানো হয়েছে, আবার কন্ডিশন চেক করবে অর্থ্যাৎ i এর মান ০ এর চেয়ে বড় কিনা। যেহেতু ৯ শূন্যের চেয়ে বড় তাই আবার পরের এক্সপ্রেশনে (i--) যাবে এবং মান ৯ থেকে এক কমাবে এবং document.write(i + '<br/>'); এক্সিকিউট হবে।

এভাবে i এর মান যতক্ষন শূন্যের সমান না হবে ততক্ষন লুপটি একই সিস্টেমে চলতে থাকবে।

** লুপের ভিতর var i = 10; এভাবে না দিলেও হয়। যদি ভেরিয়েবল initialize করতে চান তাহলে লুপের বাইরে করে রাখতে পারেন যেমন
1.var i;
2.for(i = 10; i > 0; i--){
3. 
4.document.write(i + '<br/>');
5. 
6.}

** লুপ ছাড়া যদি আমি এভাবে ১০ থেকে ০ পর্যন্ত এক এক করে কমিয়ে দেখাতে চাইতাম তাহলে নিচের মত লিখতে হত।
01.document.write(10 + '<br/>');
02.document.write(9 + '<br/>');
03.document.write(8 + '<br/>');
04.document.write(8 + '<br/>');
05.document.write(7 + '<br/>');
06.document.write(6 + '<br/>');
07.document.write(5 + '<br/>');
08.document.write(4 + '<br/>');
09.document.write(3 + '<br/>');
10.document.write(2 + '<br/>');
11.document.write(1 + '<br/>');
এত বড় কোডের কাজ লুপ দিয়ে কয়েক লাইনেই হয়ে যায়। এরুপ তারিখের জন্য মাস, বছর, দিন ইত্যাদি কাজের জন্য লুপ ব্যবহার করা হয়। লুপ খুবই গুরত্বপূর্ন, যেকোন প্রোগ্রামিং এ লুপের অবদান অনস্বীকার্য। তাই খুব ভালভাবে শিখতে হবে।

for...in লুপ
ফর ইন লুপ দিয়ে একটা অবজেক্টের প্রোপার্টিজ এর মধ্যে লুপিং করা যায়। যেমন আমি যদি BOM window অবজেক্টের প্রোপার্টি দেখতে চাই তাহলে
1.for(var propName in window){
2.document.write(propName + '<br/>');
3.}
প্রয়োগ দেখুন

continue স্টেটমেন্ট
অন্যান্য লুপিং এর মত ফর লুপেও break কিংবা continue স্টেটমেন্ট ব্যবহার করা যায়। এর আগে while লুপে break এর উদাহরন দেখিয়েছি এখানে continue স্টেটমেন্টের ব্যবহার দেখাচ্ছি।

continue স্টেটমেন্ট ব্যবহার করলে লুপ চলতে থাকবে কিন্তু একবার লুপ বন্ধ হয়ে যাবে যখন কন্ডিশন true হবে। উদাহরন দেখলে পরিষ্কার হবে
1.for(i = 10; i > 0; i--){
2.if(i % 2 == 0){continue;}
3.document.write(i + '<br/>');
4. 
5.}
প্রয়োগ দেখুন
যখনি (i % 2 == 0) এই কন্ডিশনটি true হবে অর্থ্যাৎ জোড় সংখ্যা আসবে তখন লুপ সাথে সাথে বন্ধ হয়ে যাবে এবং এইবার আউটপুট না দিয়ে পরেরবার লুপ চলবে। তাই এখানে আউটপুটে দেখুন ১০ থকে ০ পর্যন্ত শুধু ঐ সংখ্যাগুলি দেখাচ্ছে যেগুলি বিজোড়। কেননা যখন জোড় আসছে তখন continue এর কারনে ঐবার লুপ চলেনি।

** যেহেতু এক লাইনের কোড তাই continue এর আগে পিছে দ্বিতীয় বন্ধনী (curly braces) না দিলেও হত।

1.for(i = 10; i > 0; i--){
2.if(i % 2 == 0)
3.continue;
4.document.write(i + '<br/>');
5. 
6.}

0 মন্তব্য(গুলি):