جاوااسکریپت ---> درس شماره 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 نوشته و این کتاب کاملا استاندارد است . این کتاب به صورت آنلاین و مجانی قابل دسترسیست .

تا بعد .. در پناه حق
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد