
در این درس می خواهیم در مورد مفهوم متغیر در برنامه نویسی و شیوه تعریف متغیرها و به کارگیری آنها در جاوا اسکریپت آشنا شویم. در درس انواع داده یاد گرفتیم چگونه مستقیما انواع داده رشته ای، عددی و بولی را در برنامه نویسی بهکار ببریم، اما در این حالت شما باید داده را از پیش آماده داشته باشید. برای مثال شما می توانید رشته “Hi, Bob” را با تابع alert نمایش دهید:
alert('Hi, Bob');
اما این تکه کد به هرکسی که وارد صفحه می شود پیغام سلام باب را نمایش میدهد. حال اگر بخواهیم یک پیغام سفارشی مجزا برای هر بازدید کننده نمایش دهیم، باید نام برای هر کاربر تغییر کند و پیغام مناسب نمایش داده شود مانند “Hi, Mary,” “Hi, reza,’’ “Hi, ali,” و مانند آن. خوشبختانه هر زبان برنامه نویسی ابزاری به اسم متغیر دارد که این کار را برای ما آسان میکند.
متغیر روشی از ذخیره سازی داده هاست به صورتی که بعدا بتوانیم از آنها استفاده کنیم، آنها را به کار ببریم و یا آنها را تغییر دهیم. برای مثال بازی پین بالی که با جاوا اسکریپت نوشته شده است را تصور کنید، در این بازی هدف رسیدن به امتیاز بالاتر است. وقتی یک بازیکن بازی را شروع میکند امتیاز او صفر است و با زدن اهداف کم کم امتیاز او افزایش می یابد.
در مثال بالا امتیاز نوعی متغیر است که با مقدار صفر شروع می شود و در طول برنامه تغییر میکند- به عبارت دیگر- متغیر اطلاعاتی را در خود نگه می دارد که می تواند در طول اجرای برنامه تغییر کند. تصویر بالا بازی پینبال را نمایش میدهد که از متغیر برای نمایش امتیاز استفاده می کند.برای درک بهتر متغیر را میتوان به صورت یک سبد در نظر گرفت : شما می تواند یک آیتم را در سبد بگذارید ، به محتویات آن نگاهی بیندازید، چند آیتم را از آن بیرون بکشید و یا کلا محتویات آن را عوض کنید . در تمامی این حالت ها نه خود سبد بلکه محتویات آن تغییر می کند.
در جاوا اسکریپت برای ساخت متغیری با نام امتیاز (score) مانند زیر عمل می کنیم
var score;
کلمه var یه کلمه کلیدی در جاوا اسکریپت است که یک متغیر را ایجاد و یا در اصطلاح برنامه نویسی یک متغیر را تعریف میکند. قسمت دوم کد score نام متغیر است که به وسیله آن ما به متغیر دسترسی داریم. و در انتها هم مانند همه دستورات جاوا اسکریپت یک سیمی کالن ; قرار میدهیم
انتخاب نام متغیر به عهده شماست و شما میتوانید از هر نامی در تعریف متغیر استفاده کنید البته چند قانون ساده وجود دارد که باید در نام گذاری متغیرها از آنها پیروی کنید.
به عبارت دیگر شما نمی توانید نام متغیر را با عدد یا سایر کاراکترها و نمادها شروع کنید برای مثال نام های 1score ، &score اشتباه و نام های score123 ، $score و score_ صحیح هستند.
برای مثال شما نمی توانید از فاصله، و یا هر کاراکتر ویژه دیگری در نام متغیر استفاده کنید.
بدین معنی که مفسر جاوا اسکریپت نام متغیرهای یکسان با حرف بزرگ و کوچک را مجزا در نظر میگیرد برای مثال Score با SCORE و score سه متغیر متفاوت هستند.
کلمات کلیدی مجموعه کلماتی هستند که توسط زبان برنامه نویسی و مرورگر رزرو شده اند و شما نمی توانید از آنها برای نام متغیر استفاده کنید.
اگر از کلمات کلیدی برای نام متغیر استفاده کنید، برنامه شما با خطا مواجه خواهد شد. در جدول زیر لیست کاملی از کلمات کلیدی جاوا اسکریپت قرار داده شده است، البته بعضی از مرورگرها تعدادی از آنها را به عنوان نام متغیر قبول می کنند اما بهتر است شما از آنها در هیچ شرایطی استفاده نکنید.
کلمات کلیدی جاوا اسکریپت | رزرو شده برای آینده | رزرو شده برای مرورگر |
---|---|---|
break | abstract | alert |
case | boolean | blur |
catch | byte | closed |
continue | char | document |
debugger | class | focus |
default | const | frames |
delete | double | history |
do | enum | innerHeight |
else | export | innerWidth |
false | extends | length |
finally | final | location |
for | float | navigator |
function | goto | open |
if | implements | outerHeight |
in | import | outerWidth |
instanceof | int | parent |
new | interface | screen |
null | let | screenX |
return | long | screenY |
switch | native | statusbar |
this | package | window |
throw | private | |
true | protected | |
try | public | |
typeof | short | |
var | super | |
void | synchronized | |
while | throws | |
with | transient | |
volatile | ||
volatile | ||
static |
علاوه بر قوانین گفته شده شما باید در نامگذاری متغیرها نکاتی را برای خوانایی و با معنایی بیشتر برنامه رعایت کنید تا کد خروجی شما واضح، خوانا و زیبا باشد.
مهم نیست از چه نامی برای متغیر خود استفاده می کنید، اما استفاده از نام های استاندارد هم بهخاطر سپاری آنها را برای شما راحت می کند هم خوانایی کد شما را به شدت افزایش می دهد. بهعلاوه اصلاح کد در آینده را برای شما بسیار آسودهتر خواهد کرد.
بعد از تعریف متغیر شما میتوانید هر نوع داده ای را که بخواهید در آن قرار دهید. برای انجام اینکار باید از علامت = استفاده کنید. برای مثال برای ذخیره مقدار صفر یا عدد 0 در متغیر score باید از روش زیر استفاده کنید.
var score; score = 0;
خط اول این برنامه یک متغیر با نام score تعریف میکند. در خط بعدی عدد صفر را در متغیر ذخیره میکنیم. علامت مساوی “=” یک عملگر انتساب است که یک مقدار در سمت راست خود را در یک متغیر در سمت چپ خود قرار میدهد. همچنین شما می توانید هم تعریف متغیر و هم دستور انتساب مقدار به ان را با هم در یک خط مانند کد زیر انجام دهید.
var score = 0;
شما میتوانید انواع داده مختلف را در متغیرها ذخیره کنید
var firstName = 'Peter'; var lastName = 'Parker'; var age = 22; var isSuperHero = true;
شما همچنین میتوانید چند متغیر را همزمان در یک خط و با یک دستور تعریف کنید و همزمان آن ها را مقدار دهی کنید.
var x, y, z; var isSuperHero=true, isAfraidOfHeights=false;
بعد از ذخیره مقدار در متغیر شما می توانید به سادگی با استفاده از نام متغیر به آن دسترسی پیدا کنید. در واقع هرکجا که به مقدار درون متغیر نیاز داشتید کافی است نام متغیر را قرار دهید. برای مثال برای نمایش محتوای متغیر score در یک پیغام کافی است مانند زیر متغیر score را در داخل تابع ()alert قرار دهید
alert(score);
البته به این نکته دقت کنید که در تابع alert نباید نام متغیر را در کوتیشن قرار دهید. اگر متغیر را در کوتیشن قرار دهیم در خروجی عبارت score نمایش داده می شود و نه محتوای متغیر.
نکته ای مهمتر اینکه شما باید فقط یک بار و آن هم در تعریف متغیر از کلمه کلیدی var استفاده کنید و در سایر مراحل چه هنگام مقدار دهی و چه هنگام استفاده از متغیر از کلمه var نباید استفاده کنید.