۱۳۸۷ دی ۷, شنبه

آموزش Java Script (بخش 6)

متغييرها و عملگرهاي JS قسمت دوم
دربخش قبل مطالب كاملي در مورد عملگر جمع در JS گفتم ، حال به عملگر تفريق مي رسيم كه حاوي نكات جالبي ست . دو متغيير عددي a=12 و b=7 را در نظر مي گيريم . ما مي توانيم عمل تفريق بين دو متغيير a و b را به دو صورت a-b و b-a انجام دهيم كه حاصل اين دو با هم برابر نيست !
a-b=12-7=5
b-a=7-12=-5
بر خلاف جمع دو متغيير رشته اي ، تفريق دو متغيير رشته اي امكان پذير نيست و در صورت تفريق ، در هر حالت ، حاصل برابر با رشته NaN به معني Not a Number خواهد بود . اين خصوصيت شامل تفريق يك متغيير رشته اي از عددي و بالعكس مي باشد . با يك مثال بحث را روشنتر مي كنيم .
فرض كنيد دو متغيير رشته اي "www"a= و "net"b= را تعريف كرده ايم ، در هر دو صورت تفريق a-b و b-a حاصل برابر NaN خواهد بود .
a="www"
b="net"
d=a-b
f=b-a
در نتيجه : d=f=NaN
و در صورت داشتن يك متغيير رشته اي و يك متغيير عددي :
a=12
b="net"
d=a-b
f=b-a
در نتيجه : d=f=NaN
پس به اين نتيجه كلي مي رسيم كه هر گاه يك متغيير رشته اي _ در هر حالت _ در عمل تفريق وجود داشته باشد حاصل عبارت رشته اي NaN خواهد بود . در تفريق متغيير هاي «منطقي» به مانند جمع متغيير هاي رشته اي ، True مفهوم 1(يك) و False مفهوم 0 (صفر) خواهد داشت . به مثال زير توجه كنيد :
a=true
b=false
c=a-b
d=b-a
در نتيجه خواهيم داشت : c=1-0=1 و همچنين : d=0-1=-1
در اين مورد نيز a-b و b-a با هم متفاوتند .
حال عملگر ضرب را بررسي مي كنيم . براي انجام عمل ضرب از * استفاده مي كنيم . در اين حالت مي توان به ضرب دو عدد (چه صحيح و چه اعشاري) اشاره نمود كه به صورت زير تعريف مي شود .
c=a*b
بدين معني كه متغيير a در b ضرب شود و حاصل به متغيير c نسبت داده شود . در مثال زير به اين مطلب اشاره شده است .
a=12
b=3
c=a*b
d=b*a
در نتيجه داريم : c=d=36
مشاهده كرديد كه در ضرب تعويض جاي اعداد تاثيري در جواب ضرب نمي گذارد يعني a*b=b*a . در صورت ضرب دو متغيير رشته اي يا يك متغيير رشته اي در يك متغيير عددي حاصل رشته NaN خواهد بود .پس نميتوان متغيير رشته اي را در هيچ نوع متغيير ديگر ضرب نمود . حال به ضرب متغيير هاي منطقي مي رسيم . همانطور كه گفته شد ، true مفهوم يك و False مفهوم صفر دارد . در ضرب متغيير هاي رشته اي سه حالت پيش مي آيد :
1 _ در صورت ضرب دو متغيير منطقي True ، حاصل 1 خواهد بود .
2 _ ضرب دو متغيير منطقي false نيز حاصل صفر خواهد داشت .
3 _ در ضرب يك متغيير منطقي True در يك متغيير False ، جواب صفر بدست خواهد آمد .
پس به اين نتيجه مي رسيم كه در ضرب متغيير هاي منطقي فقط دو جواب 0و1 خواهيد داشت و فقط در صورتي جواب برابر 1 خواهد بود كه هيچ متغيير False ي در ضرب شركت نداشته باشد.و اما عملگر تقسيم . عملگري كه مي توان با استفاده از آن در JS عمل تقسيم را انجام داد « / » است . اولين موردي كه از اين عملگر بررسي مي كنيم ، حالت تقسيم دو متغيير عددي است . فرض كنيد ما دو متغيير با نام هاي number1 و number2 با مقادير عددي 24 و 8 داشته باشيم.حال مي توانيم عمل تقسيم بين اين دو متغيير را به دو صورت number1/number2 و number2/number1 انجام دهيم كه در حالت اول نتيجه عدد 3 و در حالت دوم عدد 0.3333333333333333 خواهد بود .
نكته 1 : زبان JS در حالت اعشاري فقط تا 16 رقم اعشاري محاسبه مي كند .
نكته 2 : در عمل تقسيم هر عددي بر عدد صفر ، حاصل برابر با رشته Infinity به معني بينهايت خواهد بود .
در تقسيم يك متغيير رشته اي به يك متغيير عددي و بلعكس حاصل برابر با NaN خواهد بود . در تقسيم متغيير هاي منطقي ، حالت هاي زير به وجود مي آيد .
_ در تقسيم يك متغيير منطقي True بر True حاصل برابر با 1 خواهد بود
_ در تقسيم يك متغيير منطقي True بر False حاصل برابر با رشته Infinityخواهد بود
_ در تقسيم يك متغيير منطقي False بر True حاصل برابر با صفر خواهد بود
_ در تقسيم يك متغيير منطقي False بر False حاصل برابر با رشته Infinity خواهد بود
بخش مهم و اصلي عملگر ها در JS به پايان رسيد ، تعدادي از عملگر هاي ديگر را در زمان نياز شرح خواهم داد . در پايان سوالي را كه تعداد فراواني از دوستان پرسيده بودند به همراه پاسخي كه داده ام در اينجا قرار مي دهم .
سوال : با توجه به اينكه فواصل بين كلاس هاي شما زياد است,لطفا كتاب يا سايت مناسبي را براي مطالعه در بين كلاس هايتان معرفي نماييد.
پاسخ : باز هم از همه شما با خاطر وقفه بين كلاس ها عذر مي خوام . در مورد كتاب هاي فارسي من هيچ كتابي را پيشنهاد نمي كنم چون بسياري از انها نه تنها مطالب مفيدي ننوشتن بلكه مطالب اشتباهي هم در مورد JS نوشتن . و اما در مورد كتاب هاي انگليسي من كتابهاي كمپاني O'Reilly رو پيشنهاد مي كنم كه 100% مفيد هستند . كتاب JAVA SCRIPT اين كمپاني را David Flannagan نوشته و اين كتاب كاملا استاندارد است . اين كتاب به صورت آنلاين و مجاني قابل دسترسيست .

هیچ نظری موجود نیست: