متغييرها و عملگرهاي JS

بعد از يك تاخير كوتاه مدت دوباره وارد دنياي زيباي JS مي شويم .در درسهاي قبل مطالب مقدماتي مهمي را تحت پوشش قرار داديم تا با زمينه اي مطلوب وارد بخش تجربي و عملي آموزش JS بشويم .
در اين درس علائم رياضيي كه در JS كاربرد دارند را بررسي مي كنيم . در ابتدا به مفهوم «متغيير» مي پردازيم . در توضيحي بسيار ساده بايد بگويم ، متغيير مانند يك جعبه مي باشد كه بر اساس نوعش مي تواند اشياء و مقادير مختلفي را در خود جاي دهد .
طبيعي است كه هر يك از اين جعبه ها بايد براي خودش اسم خاص و منحصر به فردي داشته باشد تا از ديگر جعبه ها مجزا شده و قابل تمييز دادن باشد . متغيير ها نيز دقيقا حكم اين جعبه ها را دارند ، مقادير خاصي را مي پذيرند و با نام خاصي از بقيه جدا مي شوند .
و اما انواع متغيير ؛ يكي از معمول ترين و معروفترين نوع متغيير ها ، متغيير هاي عددي(numeric variables) هستند كه مي توانند اعداد مختلف را بدون محدوديت رقمي در خود جاي دهند . از اين متغيير ها مي توان براي اعداد اعشاري و منفي نيز استفاده كرد . براي مثال وقتي ما مي خواهيم عدد 348/3242 را به متغييري به نام mark نسبت دهيم بايد به اين صورت ، عمل مقدار دهي را انجام دهيم :
mark=3242.348

نوع ديگري از متغيير ها در JS متغيير هاي رشته اي (string variables) هستند كه مي توانند يك متن يا عبارت را در خود جاي دهند به عنوان مثال اگر بخواهيم عبارت world wide web را به متغيير www نسبت دهيم به اين صورت عمل مي كنيم :
www="world wide web"

توجه داشته باشيد كه بايد در آغاز و پايان عبارت علامت " (quotation mark) را قرار بدهيم .
دانستن اين نكته بسيار مهم ايت كه هيچگاه دو متغيير mark=3242.348 و "3242.348"=mark با هم برابر نيستند زيرا اولي يك متغيير عددي و دومي يك متغيير رشته اي است !!! پس هيچگاه از علامت "" براي متغيير هاي عددي استفاده نكنيد .
نكته مهم ديگر اين است كه نبايد در قسمت نام متغيير از علامت فاصله (space) استفاده كنيد به عنوان مثال متغيير w w w هرگز براي Java Script قابل قبول نيست و يك خطاي برنامه نويسي محسوب مي شود .
متغيير منطقي (Boolean variables) نوعي از متغيير است كه نسبت به بقيه انواع متغيير ها محدود تر است ، بدين معني كه فقط دو مقدار TRUE (درست) و False (نادرست) را مي پذيرد . از متغيير بولين (منطقي) اكثرا در نوشتن شرط ها در JS استفاده مي شود .
و اما متغيير شئ (Object Variables) كه از انواع مهم متغيير هاست . اين نوع از متغيير در اكثر برنامه هاي JS كاربرد دارد و در ان يك شئ يا اتفاق مربوط به آن شئ ذخيره مي شود . مثلا وقتي مي خواهيم شئ به اسم Core را در داخل متغييريبه نام Attribute جاي دهيم بدين صورت عمل مي كنيم:

Attribute=core


در مورد اين نوع متغيير در درس هاي آينده توضيحات بيشتري خواهم داد .
در پايان بحث مربوط به متغيير ها بهتر از به نكات بسيار مهم زير توجه كنيد :
_ زبان JS در تعريف نام متغيير ها به حروف بزرگ و كوچك حساس است يعني هيچگاه متغييرهاي Www ، WWW و www با هم برابر نيستند و JS هر يك را متغييري جداگانه مي داند .

_ هيچگاه نام يك متغيير با عدد شروع نمي شود . در ضمن استفاده از نقطه (.) و علامت هايي چون @ و $ و % در نام متغيير جايز نيست . پس متغيير هايي چون 12fm و se.r و rt@r براي زبان JS بي معني هستند .

_ براي نام يك متغيير نمي توان از كلمات رزرو شده JS مانند this ، comment ، case و بسياري ديگر استفاده كرد . تعداد كلمات رزرو شده در JS زياد است و من به مرور زمان به همه آنها اشاره خواهم كرد .

_ وقتي ما متغييري مانند "mark="world wide web را تعريف مي كنيم در واقع مقدار world wide web را به متغيير mark نسبت مي دهيم و تصور اينكه بر اساس اين دستور world wide web با mark برابر است ، تصوري كاملا نادرست است .

براي هر كسي كه اندكي اطلاعات پيش زمينه برنامه نويسي دارد واضح است كه هر زباني كه عملگرهاي رياضي چون جمع ، تفريق و غيره را نداشته باشد ، يك زبان ناقص بوده و فاقد يكي از اساسي ترين خصوصيات يك زبان برنامه نويسيست .
زبان JS داراي يكي از كاملترين علائم و دستورات رياضي است كه از نقاط قوت اين زبان به شمار مي رود . توجه داشته باشيد كه ما مي توانيم توسط اين عملگر ها بين دو يا چند متغيير يك يا چند عمل رياضي را انجام داده و حاصل را به يك متغيير ديگر نسبت دهيم .
ساده ترين عملگر اين زبان ، عملگر جمع است كه داراي نكات مهمي است . فرض كنيم دو متغيير به نام هاي m1=5 و m2=7 داشته باشيم كه هر دو متغيير عددي باشند . در اين صورت مي توانيم اندو را با استفاده از دستور زير با هم چمع كرده و داخل متغيير d قرار دهيم :
d=m1+m2

در اين حالت متغيير d داراي مقدار عددي 12 خواهد بود . نكته قابل توجه اين است كه از جمع دو متغيير عددي ، متغييري عددي به وجود مي آيد .
حال فرض كنيد دو متغيير m1 و m2 ي ما داراي مقدار رشته اي day و night باشند . در اين صورت در مورد حاصل جمع آنها داريم :
d=m1+m2

در حالت جمع دو مقدار رشته اي ، مقدار حاصل برابر است با مقادير دو متغيير در كنار هم ، يعني مقدار dبرابر خواهد بود با daynight ، و همانطور كه مشاهده مي كنيد هيچ فاصله اي بين دو مقدار نخواهد بود. حتما به اين نكته بسيار مهم توجه داشته باشيد كه هيچگاه m1+m2 با m2+m1 برابر نيست زيرا هميشه در جمع رشته اي مقدار متغيير دوم بعد از مقدار متغيير اول قرار خواهد گرفت يعني
r=m1+m2 پس : r=daynight
t=m2+m1 پس : t=nightday

ممكن است شما بخواهيد يك متغيير عددي را با يك متغيير رشته اي جمع كنيد . در اين صورت يك مقدار رشته اي از جمع دو متغيير بدست خواهد آمد . مثال زير مطلب آشكار تري در اختيار شما قرار مي دهد .
P="javascript"
t=239
f1=p+t پس : f1="javascript239"
f2=t+p پس : f2="239javascript"


نكته قابل توجه ديگر اين است كه در جمع دو متغيير منطقي ، مقدار TRUE برابر با 1 (يك) و مقدار FALSE برابر با 0 (صفر) محسوب خواهد شد .در واقع False را مي توان داراي مقدار پوچ و True را مي توان داراي مقدار كامل يعني 1 در نظر گرفت . اگر هر دو متغيير True باشند حاصل جمع انها برابر 2 خواهد بود ، در صورت FALSE بودن هر دو حاصل برابر صفر و در صورتي كه يكي True و ديگري False باشد حاصل برابر 1 خواهد بود .
چون در اين كلاس كاملترين مطالب و كوچكترين نكات در مورد مباحث مختلف JS ارائه مي شود ، اتمام هر مبحث در يك جلسه امكان پذير نيست پس ادامه بحث در مورد عملگر ها را به درس بعد موكول مي كنيم ...