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

از ویکی کد
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

https://www.w3schools.com/js/js_loop_for.asp

JavaScript For Loop

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

Loops can execute a block of code a number of times.

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

JavaScript Loops

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

Loops are handy, if you want to run the same code over and over again, each time with a different value.

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

Often this is the case when working with arrays:

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

Instead of writing:

به جای نوشتن :

text += cars[0] + "<br>";

text += cars[1] + "<br>";

text += cars[2] + "<br>";

text += cars[3] + "<br>";

text += cars[4] + "<br>";

text += cars[5] + "<br>";

You can write:

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

var i;

for (i = 0; i < cars.length; i++) {

 text += cars[i] + "<br>";

}

Different Kinds of Loops

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

JavaScript supports different kinds of loops:

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

·  for - loops through a block of code a number of times

حلقه For – یک بلاک کد را چندین بار اجرا می کند .

·  for/in - loops through the properties of an object

حلقه For/in – یک حلقه در لیستی از ویژگیهای یک شی ایجاد می کند .

·  for/of - loops through the values of an iterable object

حلقه For/of – یک حلقه در بین مقادیر یک شی قابل پیمایش ایجاد می کند .

·  while - loops through a block of code while a specified condition is true

حلقه while – تا زمانی که شرط حلقه While برقرار باشد ، بلاکی از کد ها را اجرا می کند .

·  do/while - also loops through a block of code while a specified condition is true

حلقه do…while – تا زمانی که شرط حلقه برقرارباشد ،بلاکی از کد ها را اجرا می کند .

The For Loop

حلقه for

The for loop has the following syntax:

حلقه For به شیوه زیر نوشته می شود :

for (statement 1; statement 2; statement 3) {

  // code block to be executed

}

Statement 1 is executed (one time) before the execution of the code block.

عبارت یا Statement شماره 1 (یک بار) قبل از اجرای بلاک کد اجرا می شود.

Statement 2 defines the condition for executing the code block.

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

Statement 3 is executed (every time) after the code block has been executed.

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

Example

for (i = 0; i < 5; i++) {

  text += "The number is " + i + "<br>";

}

From the example above, you can read:

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

Statement 1 sets a variable before the loop starts (var i = 0).

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

Statement 2 defines the condition for the loop to run (i must be less than 5).

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

Statement 3 increases a value (i++) each time the code block in the loop has been executed.

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

Statement 1

عبارت شماره یک

Normally you will use statement 1 to initialize the variable used in the loop (i = 0).

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

This is not always the case, JavaScript doesn't care. Statement 1 is optional.

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

You can initiate many values in statement 1 (separated by comma):

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

Example

for (i = 0, len = cars.length, text = ""; i < len; i++) {

  text += cars[i] + "<br>";

}

And you can omit statement 1 (like when your values are set before the loop starts):

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

Example

var i = 2;

var len = cars.length;

var text = "";

for (; i < len; i++) {

  text += cars[i] + "<br>";

}

Statement 2

عبارت یا statement شماره 2

Often statement 2 is used to evaluate the condition of the initial variable.

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

This is not always the case, JavaScript doesn't care. Statement 2 is also optional.

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

If statement 2 returns true, the loop will start over again, if it returns false, the loop will end.

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

If you omit statement 2, you must provide a break inside the loop. Otherwise the loop will never end. This will crash your browser. Read about breaks in a later chapter of this tutorial.

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

Statement 3

عبارت شماره 3 یا Statement3

Often statement 3 increments the value of the initial variable.

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

This is not always the case, JavaScript doesn't care, and statement 3 is optional.

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

Statement 3 can do anything like negative increment (i--), positive increment (i = i + 15), or anything else.

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

Statement 3 can also be omitted (like when you increment your values inside the loop):

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

Example

var i = 0;

var len = cars.length;

for (; i < len; ) {

  text += cars[i] + "<br>";

  i++;

}

The For/In Loop

حلقه for/In

The JavaScript for/in statement loops through the properties of an object:

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

Example

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


var text = "";

var x;

for (x in person) {

  text += person[x];

}

The For/Of Loop

حلقه For/Of

The JavaScript for/of statement loops through the values of an iterable objects

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

for/of lets you loop over data structures that are iterable such as Arrays, Strings, Maps, NodeLists, and more.

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

The for/of loop has the following syntax:

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

for (variable of iterable) {

  // code block to be executed

}

variable - For every iteration the value of the next property is assigned to the variable. Variable can be declared with const, let, or var.

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

iterable - An object that has iterable properties.

Itreable – یک شی که ویژگی های پیمایش دارد .

Looping over an Array

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

Example

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

var x;


for (x of cars) {

  document.write(x + "<br >");

}

Looping over a String

ایجاد یک حلقه برای یک رشته متنی یاString

Example

var txt = 'JavaScript';

var x;


for (x of txt) {

  document.write(x + "<br >");

}

The While Loop

حلقه While

The while loop and the do/while loop will be explained in the next chapter.

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