برنامه نویسی

حلقه های جاوا اسکریپت – جامعه dev

حلقه ها یک مفهوم اساسی در JavaScript (JS) هستند که به شما امکان می دهد چندین بار بلوک کد را اجرا کنید. در اینجا انواع اصلی حلقه ها در JavaScript آورده شده است:

  1. برای حلقه: این حلقه زمانی استفاده می شود که از قبل می دانید چند بار می خواهید یک بیانیه یا یک بلوک اظهارات را اجرا کنید.

  2. در حالی که حلقه: این حلقه تا زمانی که شرایط مشخص شده صحیح باشد ، به اجرای خود ادامه می دهد.

  3. انجام … در حالی که حلقه: این حلقه شبیه به حلقه در حالی است که قبل از بررسی صحیح بودن شرط ، بلوک کد را یک بار اجرا می کند ، تا زمانی که شرط صحیح باشد ، حلقه را تکرار می کند.

  4. برای … در حلقه: از این حلقه برای تکرار بیش از خصوصیات یک شی استفاده می شود.

  5. برای … از حلقه: از این حلقه برای تکرار بیش از اشیاء قابل تکرار (مانند آرایه ها ، رشته ها و غیره) استفاده می شود.

1. برای حلقه

در for Loop in JavaScript یک بیانیه جریان کنترل است که به شما امکان می دهد تعداد مشخصی از دفعات را یک بلوک از کد اجرا کنید. در اینجا نحو اساسی وجود دارد:

for (initialization; condition; increment) {
    // code to be executed
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در اینجا تجزیه و تحلیل هر قسمت وجود دارد:

  • شروع: این یک بار قبل از شروع حلقه اجرا می شود. معمولاً برای اولیه سازی یک متغیر پیشخوان استفاده می شود.
  • وضعیت: این قبل از هر تکرار ارزیابی می شود. اگر باشد true، حلقه ادامه دارد. اگر باشد false، حلقه متوقف می شود.
  • افزایش: این بعد از هر تکرار اجرا می شود. این معمولاً برای به روزرسانی متغیر پیشخوان استفاده می شود.

در اینجا مثالی وجود دارد که اعداد را از 0 تا 4 چاپ می کند:

for (let i = 0; i < 5; i++) {
    console.log(i);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در این مثال:

  • let i = 0 متغیر پیشخوان را آغاز می کند i به 0
  • i < 5 شرایطی است که حلقه را تا زمانی که در حال اجرا باشد i کمتر از 5 است
  • i++ متغیر پیشخوان را افزایش می دهد i توسط 1 بعد از هر تکرار.

در اینجا برخی از اشتباهات رایج مردم هنگام استفاده آورده شده است for حلقه ها در جاوا اسکریپت:

  1. خطاهای خارج از یک: این اتفاق می افتد که حلقه یک بار بیش از حد زیاد یا یک بار خیلی کمی اجرا شود. به عنوان مثال ، استفاده از <= به جای < در شرایط
   for (let i = 0; i <= 5; i++) { // This will run 6 times instead of 5
       console.log(i);
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. حلقه های نامتناهی: این اتفاق می افتد که وضعیت حلقه هرگز نمی شود falseبشر اگر مرحله افزایش/کاهش وجود داشته باشد یا نادرست باشد ، این می تواند اتفاق بیفتد.
   for (let i = 0; i < 5; ) { // Missing increment step
       console.log(i);
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. اولیه سازی نادرست: فراموش کردن اولیه متغیر حلقه یا اولیه کردن نادرست آن.
   for (i = 0; i < 5; i++) { // If 'i' is not declared with 'let' or 'var', it can cause issues
       console.log(i);
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. تغییر متغیر حلقه در داخل حلقه: تغییر متغیر حلقه در داخل حلقه می تواند به رفتار غیر منتظره منجر شود.
   for (let i = 0; i < 5; i++) {
       console.log(i);
       i += 2; // Modifying the loop variable inside the loop
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. دامنه نادرست متغیرها: استفاده از متغیرهای داخل حلقه که به درستی پیچیده نشده اند می تواند باعث ایجاد مشکلات شود ، به خصوص اگر با آنها اعلام شود var به جای letبشر
   for (var i = 0; i < 5; i++) {
       // 'i' is function-scoped, which can cause issues in larger code blocks
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. استفاده نکردن let برای متغیرهای حلقه: با استفاده از var به جای let به دلیل تفاوت در Scoping می تواند به رفتار غیر منتظره منجر شود.
   for (var i = 0; i < 5; i++) {
       setTimeout(() => console.log(i), 1000); // This will print '5' five times
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

2 در حالی که حلقه است
بوها while حلقه در JavaScript به شما امکان می دهد تا زمانی که یک شرط مشخص صحیح باشد ، یک بلوک کد را اجرا کنید. در اینجا نحو اساسی وجود دارد:

while (condition) {
    // code to be executed
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در اینجا تفکیک نحوه عملکرد آن آورده شده است:

  • وضعیت: این قبل از هر تکرار ارزیابی می شود. اگر باشد true، حلقه ادامه دارد. اگر باشد false، حلقه متوقف می شود.

در اینجا مثالی وجود دارد که اعداد را از 0 تا 4 چاپ می کند:

let i = 0;
while (i < 5) {
    console.log(i);
    i++;
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در این مثال:

  • let i = 0 متغیر پیشخوان را آغاز می کند i به 0
  • i < 5 شرایطی است که حلقه را تا زمانی که در حال اجرا باشد i کمتر از 5 است
  • i++ متغیر پیشخوان را افزایش می دهد i توسط 1 بعد از هر تکرار.

اشتباهات رایج با while حلقه

  1. حلقه های نامتناهی: این اتفاق می افتد وقتی که شرط هرگز نمی شود falseبشر اطمینان حاصل کنید که حلقه راهی برای خاتمه دارد.
   let i = 0;
   while (i < 5) {
       console.log(i);
       // Missing increment step, causing an infinite loop
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. وضعیت نادرست: اگر شرط نادرست باشد ، ممکن است حلقه همانطور که انتظار می رفت اجرا نشود.
   let i = 0;
   while (i > 5) { // This condition is false from the start, so the loop won't run
       console.log(i);
       i++;
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. تغییر نادرست متغیر شرایط: اطمینان حاصل کنید که متغیر مورد استفاده در شرط به درستی در حلقه اصلاح شده است.
   let i = 0;
   while (i < 5) {
       console.log(i);
       i += 2; // This will skip some iterations
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

3. برای … در حلقه

در for...in حلقه در JavaScript برای تکرار بیش از خواص یک شی استفاده می شود. این امکان را به شما می دهد تا به هر کلید در شیء یکی یکی دسترسی پیدا کنید. در اینجا نحو اساسی وجود دارد:

for (let key in object) {
    // code to be executed
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در اینجا مثالی آورده شده است که نحوه استفاده از آن را نشان می دهد for...in حلقه:

const person = {
    name: "John",
    age: 30,
    city: "New York"
};

for (let key in person) {
    console.log(key + ": " + person[key]);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در این مثال:

  • person یک شی با خواص است nameبا ageوت cityبشر
  • در for...in تکرار بیش از هر خاصیت در person شیء.
  • key نام ملک فعلی را در هر تکرار نشان می دهد.
  • person[key] به ارزش خاصیت فعلی دسترسی پیدا می کند.

اشتباهات رایج با for...in حلقه

  1. تکرار بیش از آرایه ها: در حالی که می توانید استفاده کنید for...in برای تکرار آرایه ها ، به طور کلی توصیه نمی شود زیرا بیش از همه خصوصیات قابل توجه ، از جمله موارد ارثی تکرار می شود. استفاده کردن for...of یا یک استاندارد for حلقه برای آرایه ها.
   const array = [1, 2, 3, 4, 5];
   for (let index in array) {
       console.log(index); // This will print the indices, not the values
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. خواص غیر منتظره: اگر شیء خواص را به ارث برده است ، for...in بر روی آنها نیز تکرار خواهد شد. استفاده کردن hasOwnProperty برای فیلتر کردن خواص ارثی.
   const obj = {a: 1, b: 2};
   Object.prototype.c = 3; // Adding an inherited property

   for (let key in obj) {
       if (obj.hasOwnProperty(key)) {
           console.log(key + ": " + obj[key]);
       }
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. مسائل مربوط به عملکرد: for...in می تواند نسبت به سایر حلقه ها کندتر باشد زیرا بیش از همه خصوصیات قابل توجه ، از جمله موارد اضافه شده به زنجیره نمونه اولیه ، تکرار می شود.

4. برای … از حلقه
در for...of Loop in JavaScript برای تکرار اشیاء قابل تکرار مانند آرایه ها ، رشته ها ، نقشه ها ، مجموعه ها و موارد دیگر استفاده می شود. این امکان را به شما می دهد تا به هر عنصر در یک تکرار دسترسی پیدا کنید. در اینجا نحو اساسی وجود دارد:

for (let element of iterable) {
    // code to be executed
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در اینجا مثالی آورده شده است که نحوه استفاده از آن را نشان می دهد for...of حلقه با یک آرایه:

const array = [1, 2, 3, 4, 5];

for (let value of array) {
    console.log(value);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در این مثال:

  • array آرایه ای با عناصر است 1, 2, 3, 4, 5بشر
  • در for...of تکرار بیش از هر عنصر در arrayبشر
  • value عنصر فعلی را در هر تکرار نشان می دهد.

با استفاده از for...of با سایر موارد تکرار شده

  1. رشته: می توانید بیش از هر شخصیت در یک رشته تکرار کنید.
   const str = "hello";
   for (let char of str) {
       console.log(char);
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. نقشه: می توانید بیش از ورودی های یک نقشه تکرار کنید.
   const map = new Map([
       ['a', 1],
       ['b', 2],
       ['c', 3]
   ]);

   for (let [key, value] of map) {
       console.log(key + ": " + value);
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. مجموعه: می توانید بیش از عناصر یک مجموعه تکرار کنید.
   const set = new Set([1, 2, 3, 4, 5]);

   for (let value of set) {
       console.log(value);
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اشتباهات رایج با for...of حلقه

  1. با استفاده از for...of با اشیاء غیر قابل قبول: for...of فقط با اشیاء قابل تکرار قابل استفاده است. تلاش برای استفاده از آن با اشیاء غیر قابل قبول منجر به خطا خواهد شد.
   const obj = {a: 1, b: 2};
   for (let value of obj) { // This will throw an error
       console.log(value);
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. گیج کننده for...of با for...in: به یاد داشته باشید که for...of برای تکرار بیش از مقادیر است ، در حالی که for...in برای تکرار بیش از کلیدها یا نام املاک است.
   const array = [1, 2, 3];
   for (let index in array) {
       console.log(index); // This will print the indices (0, 1, 2)
   }
   for (let value of array) {
       console.log(value); // This will print the values (1, 2, 3)
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

5. انجام … در حالی که حلقه
در do...while حلقه در جاوا اسکریپت شبیه به while حلقه ، اما با یک تفاوت کلیدی: do...while حلقه حداقل یک بار قبل از بررسی شرایط ، بلوک کد را اجرا می کند. در اینجا نحو اساسی وجود دارد:

do {
    // code to be executed
} while (condition);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در اینجا مثالی آورده شده است که نحوه استفاده از آن را نشان می دهد do...while حلقه:

let i = 0;
do {
    console.log(i);
    i++;
} while (i < 5);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در این مثال:

  • let i = 0 متغیر پیشخوان را آغاز می کند i به 0
  • بلوک کد در داخل do بخش قبل از بررسی شرایط یک بار اجرا می شود.
  • i++ متغیر پیشخوان را افزایش می دهد i توسط 1 بعد از هر تکرار.
  • i < 5 شرایطی است که حلقه را تا زمانی که در حال اجرا باشد i کمتر از 5 است

اشتباهات رایج با do...while حلقه

  1. حلقه های نامتناهی: این اتفاق می افتد وقتی که شرط هرگز نمی شود falseبشر اطمینان حاصل کنید که حلقه راهی برای خاتمه دارد.
   let i = 0;
   do {
       console.log(i);
       // Missing increment step, causing an infinite loop
   } while (i < 5);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. وضعیت نادرست: اگر شرط نادرست باشد ، ممکن است حلقه همانطور که انتظار می رفت اجرا نشود.
   let i = 0;
   do {
       console.log(i);
       i++;
   } while (i > 5); // This condition is false from the start, so the loop will only run once
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. تغییر نادرست متغیر شرایط: اطمینان حاصل کنید که متغیر مورد استفاده در شرط به درستی در حلقه اصلاح شده است.
   let i = 0;
   do {
       console.log(i);
       i += 2; // This will skip some iterations
   } while (i < 5);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

6. بیانیه را ادامه دهید
در continue از بیانیه در JavaScript برای پرش از تکرار فعلی یک حلقه استفاده شده و به تکرار بعدی ادامه می یابد. اغلب در داخل استفاده می شود forبا whileوت do...while حلقه ها برای کنترل جریان حلقه بر اساس شرایط خاص.

در اینجا یک مثال با استفاده از a وجود دارد for حلقه:

for (let i = 0; i < 5; i++) {
    if (i === 2) {
        continue; // Skip the iteration when i is 2
    }
    console.log(i);
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در این مثال:

  • حلقه از i = 0 به i < 5بشر
  • کی i برابر است با 2، continue بیانیه اجرا می شود ، که بقیه کد را در داخل حلقه برای آن تکرار می کند.
  • در console.log(i) بیانیه هنگامی اجرا نمی شود i است ، 2، بنابراین خروجی خواهد بود 0, 1, 3, 4بشر

با استفاده از continue در حلقه های دیگر

  1. در حالی که حلقه:
   let i = 0;
   while (i < 5) {
       i++;
       if (i === 2) {
           continue; // Skip the iteration when i is 2
       }
       console.log(i);
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. انجام … در حالی که حلقه:
   let i = 0;
   do {
       i++;
       if (i === 2) {
           continue; // Skip the iteration when i is 2
       }
       console.log(i);
   } while (i < 5);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اشتباهات رایج با continue بیانیه

  1. پرش از کد مهم: اطمینان حاصل کنید که continue بیانیه کد اساسی را که باید در هر تکرار اجرا شود ، پرش نمی کند.
   for (let i = 0; i < 5; i++) {
       if (i === 2) {
           continue;
       }
       // Important code that should not be skipped
       console.log("Important code for i = " + i);
   }
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. با استفاده از continue خارج از حلقه ها: continue عبارت فقط در داخل حلقه ها قابل استفاده است. استفاده از آن در خارج از یک حلقه منجر به خطای نحوی خواهد شد.

7. بیانیه شکستن
در break بیانیه در JavaScript برای خروج از یک حلقه یا عبارت سوئیچ زودرس استفاده می شود. وقتی break بیانیه اجرا می شود ، بیانیه حلقه یا سوئیچ بلافاصله خاتمه می یابد و برنامه با بیانیه بعدی به دنبال حلقه یا سوئیچ ادامه می یابد.

با استفاده از break در حلقه ها

  1. برای حلقه:
   for (let i = 0; i < 5; i++) {
       if (i === 2) {
           break; // Exit the loop when i is 2
       }
       console.log(i);
   }
   // Output: 0, 1
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. در حالی که حلقه:
   let i = 0;
   while (i < 5) {
       if (i === 2) {
           break; // Exit the loop when i is 2
       }
       console.log(i);
       i++;
   }
   // Output: 0, 1
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. انجام … در حالی که حلقه:
   let i = 0;
   do {
       if (i === 2) {
           break; // Exit the loop when i is 2
       }
       console.log(i);
       i++;
   } while (i < 5);
   // Output: 0, 1
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

با استفاده از break در اظهارات سوئیچ

در break بیانیه نیز معمولاً در آن استفاده می شود switch اظهارات برای خاتمه یک پرونده و جلوگیری از سقوط اعدام به موارد بعدی.

const fruit = "apple";

switch (fruit) {
    case "apple":
        console.log("This is an apple.");
        break; // Exit the switch statement
    case "banana":
        console.log("This is a banana.");
        break;
    default:
        console.log("Unknown fruit.");
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در این مثال:

  • وقتی fruit است ، "apple"، پیام “این یک سیب است”. چاپ شده است ، و break بیانیه از switch بیانیه
  • بدون break بیانیه ، کد به اجرای پرونده بعدی ادامه می دهد ، که معمولاً رفتار مورد نظر نیست.

اشتباهات رایج با break بیانیه

  1. با استفاده از break خارج از حلقه ها یا اظهارات سوئیچ: break عبارت فقط می تواند در داخل حلقه ها یا بیانیه های سوئیچ استفاده شود. استفاده از آن در خارج از این زمینه ها منجر به خطای نحوی خواهد شد.

  2. فراموش کردن استفاده break در اظهارات سوئیچ: حذف break بیانیه در یک مورد سوئیچ می تواند منجر به رفتار ناخواسته سقوط شود ، که در آن موارد متعدد اجرا می شود.

هنگام استفاده از break بیانیه در حلقه های تو در تو ، فقط از حلقه درونی که در آن نامیده می شود خارج می شود. حلقه های بیرونی طبق معمول به اجرای خود ادامه می دهند. در اینجا مثالی برای نشان دادن این موضوع آورده شده است:

for (let i = 0; i < 3; i++) {
    console.log("Outer loop:", i);
    for (let j = 0; j < 3; j++) {
        if (j === 1) {
            break; // Exit the inner loop when j is 1
        }
        console.log("  Inner loop:", j);
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در این مثال:

  • حلقه بیرونی از i = 0 به i < 3بشر
  • حلقه داخلی از j = 0 به j < 3بشر
  • کی j برابر است با 1، break بیانیه از حلقه داخلی خارج می شود ، اما حلقه بیرونی به تکرار بعدی ادامه می یابد.

خروجی خواهد بود:

Outer loop: 0
  Inner loop: 0
Outer loop: 1
  Inner loop: 0
Outer loop: 2
  Inner loop: 0
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

بیرون کشیدن از چندین حلقه

اگر نیاز به خارج شدن از چندین حلقه تو در تو دارید ، می توانید از برچسب ها استفاده کنید. در اینجا یک مثال آورده شده است:

outerLoop: for (let i = 0; i < 3; i++) {
    console.log("Outer loop:", i);
    for (let j = 0; j < 3; j++) {
        if (j === 1) {
            break outerLoop; // Exit both the inner and outer loops
        }
        console.log("  Inner loop:", j);
    }
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

در این مثال:

  • در outerLoop برای شناسایی حلقه بیرونی از برچسب استفاده می شود.
  • در break outerLoop بیانیه از هر دو حلقه داخلی و بیرونی خارج می شود j برابر است با 1بشر

خروجی خواهد بود:

Outer loop: 0
  Inner loop: 0
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا