حلقه For در جاوااسکریپت

از ویکی کد
پرش به ناوبری پرش به جستجو
دورهٔ آموزشی جاوااسکریپت
Javascript.jpg
جاوااسکریپت
موارد آموزشی
۱آموزش جاوااسکریپت
۲مقدمه‌ای بر جاوااسکریپت
۳قوانین و اصول اولیه زبان جاوااسکریپت
۴خروجی جاوااسکریپت
۵عبارت‌ها در جاوااسکریپت
۶شیوهٔ نوشتن دستورات در جاوااسکریپت
۷نظرات یا کامنت‌ها (Comments) در جاوااسکریپت
۸متغیرها در جاوااسکریپت
۹عملگرهای جاوااسکریپت
۱۰عملگرهای ریاضی در جاوااسکریپت
۱۱عملگرهای مقداردهی در جاوااسکریپت
۱۲انواع داده‌ها در جاوااسکریپت
۱۳توابع در جاوااسکریپت
۱۴اشیاء (object) در جاوااسکریپت
۱۵رویدادها در جاوااسکریپت
۱۶رشته‌های متنی (string) در جاوااسکریپت
۱۷متدهای نوع داده متنی یا رشته‌ای در جاوااسکریپت
۱۸اعداد در جاوااسکریپت
۱۹متدهای داده‌های عددی در جاوااسکریپت
۲۰آرایه‌ها در جاوااسکریپت
۲۱متدهای آرایه در جاوااسکریپت
۲۲مرتب‌سازی آرایه‌ها در جاوااسکریپت
۲۳متدهای پیمایش آرایه در جاوااسکریپت
۲۴اشیاء تاریخ و زمان در جاوااسکریپت
۲۵فرمت‌های تاریخ و زمان در جاوااسکریپت
۲۶متدهای دریافت تاریخ و زمان در جاوااسکریپت
۲۷متدهای تنظیم زمان و تاریخ در جاوااسکریپت
۲۸شی ریاضی (Math) در جاوااسکریپت
۲۹ایجاد عدد تصادفی در جاوااسکریپت
۳۰مقادیر بولین (Booleans) در جاوااسکریپت
۳۱عملگرهای منطقی و مقایسه‌ای در جاوااسکریپت
۳۲ساختار if else و else if در جاوااسکریپت
۳۳تکه کد Switch در جاوا اسکریپت
۳۴حلقه For در جاوااسکریپت
۳۵حلقه While در جاوااسکریپت
۳۶کلمات کلیدی Break و Continue در جاوااسکریپت
۳۷تبدیل نوع داده‌ها در جاوااسکریپت
۳۸عملیات‌های بیتی در جاوااسکریپت
۳۹عبارات با قاعده در جاوااسکریپت
۴۰خطاها در جاوااسکریپت - رخ دادن خطا و رفع آن
۴۱Scope در جاوااسکریپت
۴۲Hoisting یا جا به جایی کدها در جاوااسکریپت
۴۳استفاده از مد یا حالت سخت‌گیرانه (use strict) در جاوااسکریپت
۴۴کلمه کلیدی This در جاوااسکریپت
۴۵کلمه کلیدی Let در جاوااسکریپت
۴۶ثابت‌ها در جاوااسکریپت
۴۷تعریف توابع به صورت پیکان
۴۸کلاس‌ها در جاوااسکریپت
۴۹اشکال‌زدایی در جاوااسکریپت
۵۰راهنمای استایل و استانداردهای کدنویسی در جاوااسکریپت
۵۱بهترین تمرینات جاوااسکریپت
۵۲اشتباهات رایج در برنامه‌نویسی جاوااسکریپت
۵۳کارایی در جاوااسکریپت
۵۴کلمات رزرو شده در جاوااسکریپت
۵۵ورژن‌های جاوااسکریپت
۵۶ECMAScript 5 - JavaScript 5
۵۷ECMAScript 6 - ECMAScript 2015
۵۸جیسون (JSON) در جاوااسکریپت
فرم‌ها
۱فرم‌ها در جاوااسکریپت
۲API ارزشیابی در جاوااسکریپت
اشیاء (Object)
۱اشیاء در جاوااسکریپت
۲ویژگی‌های اشیاء در جاوااسکریپت
۳متدهای اشیاء در جاوااسکریپت
۴روش‌های دسترسی به شیء در جاوااسکریپت
۵سازنده‌های شیء در جاوااسکریپت
۶شکل اصلی شیء در جاوااسکریپت
۷متدهای شیء در ورژن ES5 جاوااسکریپت
تابع
۱تعریف تابع در جاوااسکریپت
۲پارامتر توابع در جاوااسکریپت
۳فراخوانی تابع در جاوااسکریپت
۴صدا کردن تابع در جاوااسکریپت
۵تابع Apply در جاوااسکریپت
۶بسته‌ها (به انگلیسی: Closures) در جاوااسکریپت
HTML DOM
۱HTML DOM در جاوااسکریپت
۲متدهای HTML DOM در جاوااسکریپت
۳HTML DOM Document در جاوااسکریپت
۴عناصر HTML DOM در جاوااسکریپت
۵reeeeeeeeeeeeeeee
۶تست
۷تست
۸تست
۹تست
۱۰تست
۱۱تست
۱۲تست
۱۳تست


حلقه For در جاوااسکریپت

حلقه می‌تواند بلاکی از کد را چندین مرتبه اجرا کند. [۱]

حلقه‌ها در جاوااسکریپت

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

معمولاً این حالت در زمان کار با آرایه‌ها اتفاق می‌افتد:

به جای نوشتن:

text += cars[0] + "<br>";
text += cars[1] + "<br>";
text += cars[2] + "<br>";
text += cars[3] + "<br>";
text += cars[4] + "<br>";
text += cars[5] + "<br>";

شما می‌توانید بنویسید:

var i;
for (i = 0; i < cars.length; i++) {
  text += cars[i] + "<br>";
}

انواع مختلف حلقه

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

  • حلقه​For​– یک بلاک کد را چندین بار اجرا می‌کند.
  • حلقه​For/in​– یک حلقه در لیستی از ویژگیهای یک شی ایجاد می‌کند.
  • حلقه​For/of​– یک حلقه در بین مقادیر یک شی قابل پیمایش ایجاد می‌کند.
  • حلقه​while​– تا زمانی که شرط حلقه While برقرار باشد، بلاکی از کدها را اجرا می‌کند.
  • حلقه​do…while​– تا زمانی که شرط حلقه برقرار باشد، بلاکی از کدها را اجرا می‌کند.

حلقه For

حلقه​for​به شیوه زیر نوشته می‌شود:

for (statement 1; statement 2; statement 3) {
  // code block to be executed
}

عبارت ۱، (یک بار) قبل از اجرای بلاک کد اجرا می‌شود.

عبارت ۲، شرط مورد نظر برای اجرای بلاک کد حلقه را تعریف می‌کند.

عبارت ۳، هر دفعه که بلاک کد اجرا شود، اجرا می‌شود.

مثال

for (i = 0; i < 5; i++) {
  text += "The number is " + i + "<br>";
}

از مثال بالا، شما می‌توانید بفهمید که:

عبارت شماره یک شماره یک، یک متغیر را قبل از شروع حلقه مقدار دهی می‌کند​(var i = 0)​.

عبارت شما ۲، یک شرط را برای اجرای حلقه تعریف می‌کند. (متغیر i می‌بایست کمتر از ۵ باشد)

عبارت شماره سه یا statement شماره ۳، مقدار متغیر i را بعد از اینکه بلاک کد اجرا شد یک واحد افزایش می‌دهد​(i++)​.

عبارت (به انگلیسی: Statement) شماره ۱

به طور عادی، شما از عبارت شماره ۱ برای مقدار دهی اولیه متغیری که در حلقه استفاده می‌شود، استفاده می‌کنید.​(i = 0)​

این امر همیشه صدق نمی‌کند. عبارت شماره ۱ اختیاری است.

شما می‌توانید مقادیر زیادی (جدا شده به وسیله ویرگول (به انگلیسی: Comma)) را در عبارت شماره ۱ مقدار دهی اولیه کنید:

مثال

for (i = 0, len = cars.length, text = ""; i < len; i++) {
  text += cars[i] + "<br>";
}

و شما می‌توانید عبارت شماره ۱ را ننویسید. (درست مانند زمانی که مقادیر قبل از اینکه حلقه شروع شود مقدار دهی شده‌اند)

مثال

var i = 2;
var len = cars.length;
var text = "";
for (; i < len; i++) {
  text += cars[i] + "<br>";
}

عبارت (به انگلیسی: Statement) شماره ۲

اغلب عبارت شماره ۲ برای تعریف شرط متغیر مقداردهی اولیه شده حلقه، استفاده می‌شود.

این امر همیشه صدق نمی‌کند. عبارت شماره ۲ اختیاری است.

اگر عبارت شماره ۲ مقدار true را برگرداند، حلقه از نو آغاز می‌شود، اما در صورتی که مقدار false را برگرداند، حلقه به پایان خواهد رسید.

اگر شما عبارت شماره ۲ را ننویسید، شما می‌بایست از دستور break درون حلقه خود استفاده کنید. در غیر این‌صورت حلقه هیچ وقت به پایان نخواهد رسید. این امر موجب فروپاشی مرورگر شما می‌شود. می‌توانید در فصل بعدی این آموزش مطالبی را در مورد break ها بخوانید.

عبارت (به انگلیسی: Statement) شماره ۳

معمولاً عبارت شماره ۳ مقدار متغیر مقداردهی اولیه شده حلقه را افزایش می‌دهد.

این امر همیشه صدق نمی‌کند و عبارت شماره ۳ هم اختیاری است.

عبارت شماره سه می‌تواند هر کاری مانند کاهش مقدار متغیر حلقه​(i--)​، افزایش مقدار متغیر حلقه​(i = i + 15)​، یا هر کار دیگری را انجام دهد.

عبارت شماره ۳ را نیز می‌توان ننوشت (درست مانند زمانی که شما افزایش یا کاهش مقدار متغیر حلقه را درون خود حلقه انجام می‌دهید):

مثال

var i = 0;
var len = cars.length;
for (; i < len; ) {
  text += cars[i] + "<br>";
  i++;
}

حلقه For/In

حلقه​for/in​ ر جاوااسکریپت در بین ویژگی‌های یک شی یا یک object یک حلقه ایجاد می‌کند:

مثال

var person = {fname:"John", lname:"Doe", age:25};

var text = "";
var x;
for (x in person) {
  text += person[x];
}

حلقه for/of

حلقه​for/of​یک حلقه را در یک شی قابل پیمایش ایجاد می‌کند.

حلقه​for/of​به شما اجازه می‌دهد که در ساختار داده‌هایی که قابل پیمایش هستند مانند آرایه‌ها، داده‌های متنی، Mapها، NodeListها و … حلقه ایجاد کنید.

شیوه نوشتار حلقه​for/of​به صورت زیر است:

for (variable of iterable) {
  // code block to be executed
}

​variable -​برای هر پیمایش مقدار ویژگی بعدی به متغیر Variable مقداردهی می‌شود. Variable می‌تواند با​const​،​let​یا​var​تعریف شود.

​iterable -​یک شی که ویژگی‌های پیمایش دارد.

ایجاد یک حلقه برای یک آرایه

مثال

var cars = ['BMW', 'Volvo', 'Mini'];
var x;

for (x of cars) {
  document.write(x + "<br >");
}

ایجاد یک حلقه برای یک رشته متنی (به انگلیسی: String)

مثال

var txt = 'JavaScript';
var x;

for (x of txt) {
  document.write(x + "<br >");
}

حلقه While

حلقه​while​و حلقه​do/while​در فصل بعدی توضیح داده خواهند شد.

منابع آموزشی