سبد (0)

تبلیغات

حلقه for in در JavaScript

دستور for ... in در JavaScript

Wiki

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

شاید بدلیل اینکه هنوز درباره ی اشیاء صحبت نکرده ایم، فهم دقیق این نوع حلقه برای شما سخت باشد، اما زمانی که با بحث اشیاء در JavaScript آشنا شدید، خواهید فهمید که این نوع حلقه چقدر مفید است.

توجه: كدی كه در بدنه ی حلقه for … in قرار دارد، برای هر خصوصیت، یك بار اجرا می شود.

نحوه استفاده:

for (variable in object)
  {
  code to be executed
  }

پارامترها

پارامتر توضیحات
variable الزامی است، با یک نام دلخواه تنظیم می شود و با استفاده از این متغیر، داخل خصوصیات یک شیء حلقه می زنیم.
object الزامی است، با نام شیء ای که می خواهیم داخل آن حلقه بزینم، تنظیم می شود.

در هر بار تکرار حلقه، یکی از خصوصیت های شیء مورد نظر به variable انتساب داده می شود و این حلقه ادامه می یاد تا تمام خصوصیت های شیء مورد نظر انتساب یابند.

مثال 1

Wiki

در مثال زیر، تمام خصوصیت های شیء Navigator چاپ خواهد شد. (خصوصیات شیء Navigator، اطلاعاتی در مورد مرورگر را برمی گردانند)

مثال (حلقه for in در JavaScript)


<script type="text/javascript">
<!--
var aProperty;
document.write("Navigator Object Properties<br /> ");
for (aProperty in navigator)
{
  document.write(aProperty);
  document.write("<br />");
}
document.write("Exiting from the loop!");
//-->
</script>
خودتان امتحان کنید »

مثال 2

Wiki

در مثال زیر، یک شیء آرایه با نام person تعریف شده است، دستور (for (x in person تمام ایندکس های آرایه person را یکی یکی از ابتدایی تا انتهایی به درون x می ریزد و دستورات داخل حلقه را اجرا می نماید:

مثال (حلقه for in در JavaScript)

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

for (x in person)
{
 txt=txt + person[x];
}
خودتان امتحان کنید »

دیدگاه‌ها  

+2 # azadeh ahmadi 1394-08-09 10:51
سلام
تو مثال دوم..حلقه از کجا میفهمه باید jhon رو چاپ کنه و نه fname رو؟!
نمیدونم متوجه سوالم شدید یا نه...
منظورم اینه که چرا به ازای x ....جان چاپ میشه نه fname ?!
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1394-08-09 11:04
با سلام.
fname اندیس هست. در حلقه میگیم آرایه رو بر حسب تعداد خونه هایی که داره، یه دور پیمایش کنه. در اینجا x اندیسها آرایه است. و چون تعداد اندیس ها 3 تا هست. این حلقه 3 بار اجرا میشه.
بعدش اگر دقت کنید ما اینجا میخوایم مقادیر اندیسها چاپ بشه، نه خود اندیسها. مقدار هر اندیس در واقع خونه ای هست که اون آرایه در اندیس موردنظر داره.
کد زیر رو نگاه بندازید:

person[fname] = "john"; //comment
person[lname] = "Doe"; //comment
person[age] = 25; //comment


در حلقه ما اندیسها رو توسط x پیمایش میکنم و مقادیر اونها رو با person[x] //comment نشون میدیم. پس وقتی به fname میرسه، عبارت person[fname] //comment چاپ میشه.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+7 # امیرکیان 1393-12-23 12:00
به دو صورت می شود از حلقه for استفاده کرد؛شما فقط یک روششو گفتید که چندان کاربردی ندارد
لطفا درمورد روش دوم هم توضیح دهید .خیلی گیرم سر این قضیه
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # raghb 1394-01-14 11:57
به نقل از امیرکیان:
به دو صورت می شود از حلقه for استفاده کرد؛شما فقط یک روششو گفتید که چندان کاربردی ندارد
لطفا درمورد روش دوم هم توضیح دهید .خیلی گیرم سر این قضیه

ببخشید
فکر کنم در مثال دوم اگر تابع را کاربران به این صورت تغییر بدهند از خروجی آن خودشان به نتیجه و اتفاقات پی ببرنند
function myFunction()
{
var x;
var txt="";
var person={fname:" John",lname:"Do e",age:25};

for (x in person)
{
document.write(x+"");
var txt="";
txt=txt + person[x];
document.write(txt+"");
}


}
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # مظاهر نصوحی 1393-12-23 15:20
در آموزش حلقه ها به این موضوع پرداختیم.
نکته: حلقهfor in مانند foreach عمل می کند.
شکل یک حلقه ی for به صورت زیر است:
for (init; condition; increment)
{
code to be executed
}


مثال:

<script type="text/javascript">
var i=0;
for (i=0;i<=5;i++)
{
document.write("The number is " + i);
document.write("<br />");
}
</script>
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+5 # moji 1393-12-18 21:09
من متوجه یه چیزی نمیشم متغییر txt اینجا چه کاری انجام میده؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+5 # مظاهر نصوحی 1393-12-19 08:19
از آنجایی که متغیرها در جاوا اسکریپت نوع خاصی ندارند بهتر است بگوییم متغیر txt در این مثال از نوع رشته است.
متغیر person در اینجا یک آرایه است. با حرکت روی عناصر آرایه در حلقه ی for in این عناصر یکی یکی به رشته ی txt اضافه شده است.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+5 # Germany 1393-12-04 14:48
دستور پیچیده ای نیست!. فقط توی مثال 1 نفهمیدم این همه اسم توی خروجی از کجا اومد؟؟؟!!!
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # امیر پهلوان صادق 1393-12-05 08:08
همان طور که در توضیح مثال گفته شده است، کلمات چاپ شده، خصوصیت های شیء Navigator اند.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # girlsea 1393-10-14 11:08
سلام ممنون از سایت خوبتون
ولی یه خواهش این توضیحات خیلی کمه دستور for in نیاز به توضیحات بیشتری داره خیلی پیچیده است من هیچی متوجه نشدم لطفا توضیحات رو بیشتر کنید
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+7 # امیر پهلوان صادق 1393-10-14 15:56
سلام، چشم ...!
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # mohsen moardi 1393-10-13 13:01
ببخشيد راجبه دستور for...in بيشتر توضيح بديد....يكم پيچيدست....
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # امیر پهلوان صادق 1393-10-14 07:28
در مثال بالا، دستور (for (x in person تمام ایندکس های آرایه person را یکی یکی از ابتدایی تا انتهایی به درون x می ریزد و دستورات داخل حلقه را اجرا می نماید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # arash salem 1394-06-22 18:10
منظورتون از آرایه چیه؟ انگلیسیش چی میشه؟ variable؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # شهربانو دوستی 1394-06-22 19:24
با سلام به "آموزش JS-آرایه ها" مراجعه کنید، برا این کار از لینک زیر استفاده کنید:
www.beyamooz.com/javascript/128-object/401-%D8%A2%D8%B1%D8%A7%DB%8C%D9%87-%D9%87%D8%A7-%D8%AF%D8%B1-javascript
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی JavaScript

بستن
مدرس:
سوال و جواب:

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

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