اكشن
اسكريپت - متغير ها در فلش
اكشن اسكريپت - متغير ها در فلش :
متغير چيست ؟
يك
متغير يك نگه دارنده اطلاعات است كه بخشي از حافظه را بنام خود ميكند تا شما
بتوانيد داخلش مقدار هاي متفاوتي را بنويسيد و پاك كنيد . متغير خودش ثابت ميماند اما
مقدار داخلش تغيير ميكند .براي نگه داشتن مقادير انجام شدن يك كار خاص يا گرفتن
اطلاعات از كاربر ، اول اطلاعات به حافظه رم كامپيوتر منتقل ميشود كه اينجا متغير
ها هستند كه نقش نگه داري اطلاعات را انجام ميدهند .
يك
ايده خوب در بكار گيري متغير ها اينه كه همون اول كه متغير را تعريف ميكنيم يه
مقدار اوليه بهش بديم . به اينكار ميگويند initialize
كردن . اينكار را معمولا در فريم اول انجام ميدن .
متغير
ها ميتوانند انواع مختلفي از اطلاعات را در خود نگه دارند مانند اعداد ، رشته ها ،
مقادير بولين ، آبجكت ها يا مووي كليپ ها .
نام گذاري متغير ها :
نام
يك متغير از قوانين زير پيروي ميكند :
- بايد اسم آن نشان
دهنده نوع آن باشد .
- نام متغير نميتواند
از بين keyword هاي اكشن اسكريپت باشد . همچنين نميتواند از كلمات تعيين
كننده مانند true
, false , null و undefiend باشد.
- نام متغير بايد در
محيط خودش يكتا باشد .
مقدار دهي متغير :
در
فلش نيازي نيست كه نوع متغير را در ابتداي كار تعيين كنيد . فلش هنگامي كه شما به
آن مقدار ميدهيد نوع متغيرش را تعيين ميكند.
X =
3 ;
در
عبارت فوق ، فلش داده سمت راست مساوي را تعيين هويت ميكند و ميفهمد كه نوع آن عدد
است . يك مقدار دهي ديگر ميتواند نوع x را عوض كند .
مثلا x =
“hello”; مقدار x را به نوع رشته اي تغيير ميدهد . متغيري كه
هنوز هيچ داده اي به آن نداده ايم نوع undefiend دارد .
وقتي
يك عبارت اكشن اسكريپت يك متغير را با نوع داده اي خاصي طلب ميكند ، اكشن
اسكريپت بصورت اتوماتيك نوع آن را تغيير
ميدهد تا نوع داده اي مطلوب حاصل شود . بطور مثال وقتي شما مقداري را به دستور trace ميدهيد مقدارش به نوع داده رشته اي تغيير ميكند
و سپس آن را نمايش ميدهد . در عبارت هايي كه عملگر هاي رياضي و مانند آن قرار
دارند اكشن اسكريپت متغير ها را به نوع داده اي مورد نياز تبديل ميكند . مثلا در
عبارت زير 7 يك عدد است كه براي جمع با رشته تبذيل به رشته ميشود .
"Next in line, number " + 7
پس
از تبديل جواب جمع رشته بصورت زير در ميايد :
"Next in line, number
7"
وقتی شما اسکریپت
هایتان را اشکال زدایی میکنید نگاهی به نوع
متغیرها بیندازید.
کد زیر نوع متغیر
را اعلام میکند
trace(typeof(نام متغير));
قلمرو يك متغير :
قلمرو
يك متغير به محدوده اي ميگويند كه آن متغير در آن شناسايي ميشود و ميتوان به آن
دسترسي داشت . سه نوع قلمرو براي متغير ها در اكشن اسكريپت موجود است .
- متغير هاي local (محلي) : اين متغيرهادر بلوك كد خودشان قابل دسترسي هستند
(كه بلوك كد آنها با آكولاد محصور ميشود) .
- متغير هاي Timeline : كه در هر تايم لايني كه از Target path استفاده كنيد قابل دسترسي هستند .
- متغير هاي عمومي (global) : كه در هر تايم لايني قابل دسترسي است . حتي اگر از target path استفاده نكرده باشيد
.
براي
اعلام كردن يك متغير(declare) ميتوانيد از عبارت var
استفاده كنيد . بطور مثال متغير هاي j و i معمولا براي
استفالده در حلقه ها استفاده ميشوند (البته هر اسمي ميشه گذاشت ، فكر نكني اسمش
چيز خاصي داره ها .. اما خوب برنامه نويسا به يه سري اسامي عادت كردن ديگه) .
در
كد زير i
به عنوان يك متغير محليبگار رفته كه فقط در فانكشن makedays وجود دارد .
function makeDays() {
var i;
for( i = 0; i <
monthArray[month]; i++ ) {
_root.Days.attachMovie(
"DayDisplay", i, i + 2000 );
_root.Days[i].num
= i + 1;
_root.Days[i]._x
= column * _root.Days[i]._width;
_root.Days[i]._y
= row * _root.Days[i]._height;
column
= column + 1;
if
(column == 7 ) {
column
= 0;
row
= row + 1;
}
}
}
اعلام كردن يا مقدار دهي متغير (declaration):
- براي ديكلر كردن
متغير هاي تايم لاين ، از اكشن set variable استفاده ميشود و يا از عملگر مساوي . هر دو متد يك كار را انجام
ميدهند .
- براي ديكلر كردن
متغير هاي محلي از عبارت var در داخل
فانكشن ها استفاده ميشود . يك متغير محلي در بلوك فانكشن محصور است و با
رسيدن كد به خط پاياني فانكشن ، متغير محلي (اصطلاحا) ميميرد . متغير محلي اي
كه در داخل بلوك نباشد با رسيدن به پايان اسكريپتش مي ميرد .
- براي دكلر كردن
متغير هاي عمومي (global ) از عبارت _global قبل از اسم متغير استفاده ميشود. كدي كه مشاهده ميكنيد يك
متغير عمومي بنام myname ميسازد :
_global.myName =
"SHARAFI";
استفاده از يك متغير :
به مثال زير توجه كنيد :
getURL(myWebSite);
myWebSite = "http://www.macromediax.net";
اين كد دچار مشكل است و باعث ايجاد خطا در اسكريپت
ميشود . چون در اين كد ابتدا از يك متغير استفاده كرده ايم و بعد آن را مقدار داده
ايم . پس مقدار دهي بايد قبل از استفاده صورت گيرد .
يك مثال ديگر : در مثال زير x مقدار 15 گرفته و سپس مقدارش
در Y
كپي شده . در خط سوم مقدار x مساوي با 30 شده است . اما مقدار Y
همان 15 ميماند . چون Y مقدارش را از X
كپي گرفته و ديگر كاري به كار هم ندارند .
var x = 15;
var y = x;
var x = 30;
بازگشت به فهرست
بازگشت به صفحه نخست