PDA

View Full Version : سوال: این 2 کد چه تفاوتی دارند؟



ronaldo0571
پنج شنبه 24 بهمن 1392, 10:11 صبح
با سلام
دوستان عزیز یک سوال داشتم
من دارم جاوا اسکریپت یاد میگیرم

این 2 کد رو امتحان کردم
اولی جوابش میشه 3 دومی میشه 4
چرا این اتفاق میفته؟
یکم توضیح بدید اگه میشه تفاوتشون چیه
ممنون


var a=3;
a=a++;
alert(a);


var a=3;
b=a++;
alert(a);

2undercover
پنج شنبه 24 بهمن 1392, 10:28 صبح
برای اینکه مقداری که a++ بر می گردونه، مقداری هست که a قبل از اضافه شدن یک واحد به اون داشته، پس:
a = a++;

یعنی یک واحد به a اضافه کن، بعد a رو برابر با مقدار قبلیش قرار بده!

اگه می خواین کد اول هم 4 رو نمایش بده باید به جای a++ از ++a استفاده کنید!

ronaldo0571
پنج شنبه 24 بهمن 1392, 10:45 صبح
خیلی ممنون
یعنی در کد اولی که a=a++ شده دوباره همون مقدار 3 رو قرار میده و در دومی چون b تعریف شده دیگه مقدار برابر مقدار b عدد 3 میشه و به a یک واحد اضافه میشه
درست متوجه شدم؟

2undercover
پنج شنبه 24 بهمن 1392, 13:08 عصر
بله درست متوجه شدید.