بخشی از مقاله
اسکریپت چیست ؟
اسکریپت
زبان های اسکریپتی برای ارائه تحولات و ایجاد پویایی در صفحات وب ایجاد شدند . این زبان ها از روی زبان های برنامه نویسی ساخته شدند و بهمین دلیل دارای تشابه بسیاری با هم هستند . این زبان ها در اصل نمونه کوچک شده زبان های مادر خود هستند . تعدادی از فرمان ها و امکانات زبان های بزرگ در این زبان ها حذف شده اند . مثلا امکان نوشتن فایل یا پاک کردن فایل ها برروی سیستم کاربر مانند زبان های برنامه نویسی وجود ندارد . البته این زبان ها برای استفاده در زمینه کاری شبکه طراحی شده اند و حذف این دستورات علل خاصی ( از جمله بالا رفتن امنیت و ... ) داشته است .
VB Script
این زبان نمونه کوچک شده زبان VB است و کسانی که با ویژوال بیسیک کار کرده اند در یاد گیری این زبان بیشتر راه را پیموده اند و کافیست تفاوت های آن را با ویژوال بیسیک یاد گیرند . این زبان برای افزودن افکت به صفحات وب نیز کاربرد دارد . ولی کاربرد برتر آن در نوشتن برنامه های سمت سرور است که بر اساس تکنولوژی ASP صورت میگیرد . این زبان به عنوان زبان پیش فرض برای نوشتن صفحات ASP است . یاد گیری این زبان برای کسانی که تا کنون برنامه نویسی نکرده اند بسیار آسان است و شروع بسیار خوبی برای ورود به دنیای برنامه نویسی است .
JAVA Script
این زبان ساختاری شبیه زبان C دارد و بیشتر برای ایجاد افکت بر روی کامپیوتر کاربر استفاده میشود (Client-side) .احتمالا تا کنون سایت هایی را دیده اید که در آن کلمه خاصی دنبال موس میدود . یا هنگام وارد شدن به آن سایت مرورگر شما در صفحه ویندوزتان میلرزد . این قبیل کد ها که فقط روی سیستم کاربر اجرا میشوند و نیازی به پردازش توسط سرور ندارند را کد های سمت کاربر (کلاینت ساید) میگویند . البته این زبان نیز قابلیت های استفاده به صورت server-side را
داراست . اما چون استفاده از زبان VBS آسانتر است معمولا از VBS برای نوشتن برنامه های سرور-ساید استفاده میشود . یکی از تفاوت های این دو زبان در طرز نوشتن حروف است . در VBS تفاوتی ندارد که دستورات را با حروف کوچک یا بزرگ بنویسید ، اما در JavaScript اگر دستوری که با حروف کوچک است با حروف بزرگ بنویسید با Error در صفحات خود مواجه میشوید.برای دیدن قدرت زبان JavaScript میتوانید از سایت AnfyTeam دیدن کنید . این سایت همچنین امکان دانلود برنامه ای برای ساخت افکت های جاوا اسکریپت خود را در اختیارتان میگذارد .
قالب دستوري اكشن اسكريپت
نقطه :
در اكشن اسكريپت نقطه براي نشان دادن خواص يا متدهاي وابسته به يك شيي يا سمبل مووي كليپ استفاده ميشود . همچنين براي تعيين target path در يك مووي كليپ يا متغير ، فانكشن يا آبجكت ها استفاده ميشود . عبارت نقطه دار با نام شيئ يا كليپ موردنظر آغاز شده ، نقطه ميگذاريم و در آخر با يك المان كه توسط شما تعيين ميشود پايان مي يابد .
بطور مثال خاصيت x كه براي مووي ها ميباشد مكان افقي مووي را روي صحنه مشخص ميكند . مثلا عبارت ball.x نشان دهنده مشخصه x از كليپ ball ميباشد .
مثال ديگر : submit يك متغير در كليپ Form است كه در كليپ shop قرار دارد . عبارت shop.form.submit=True مقدار متغير submit از form را True ميكند .
مثال ديگر : عبارت ball.play(); را داريم . play يك متد از كليپ ball است كه باعت اجراي اين كليپ ميشود .
نقطه همچنين با شيي مجازي _root و _parent كار ميكند . شيي مستعار _root به Timeline اصلي بر ميگردد. شما از اين شيي ميتوانيد براي خلق Target path هاي مطلق استفاده كنيد . بطور مثال عبارت زير باعث ف
راخواني فانكشن Buildgameboard در مووي كليپ functions در Timeline اصلي ميشود .
_root.functions.buildgameboard();
از شيي مجازي _parent براي مراجعه يه يك كليپ كه كليپ كنوني در آن قرار دارد استفاده ميشود . همچنين ميتوانيد براي ساخت target path وابسته استفاده اش كنيد .
آكولاد:
عبارات اكشن اسكريپت توسط آكولاد ها گروه ميشوند .به مثال زير توجه كنيد .
on(release) {
myDate = new Date();
currentMonth = myDate.getMonth();
{
سمي كالن :
عبارات زبان اكشن اسكريپت با سمي كالن پايان ميابد . مثال:
column = passedDate.getDay();
row = 0;
اگر شما سمي كالن پاياني را فراموش كنيد هيچ مشكلي براي اسكريپت شمل پيش نمي آيد اما بهتر است براي شيوايي اسكريپت خود آنرا هميشه بگذاريد .
پرانتز ها :
وقتي شما يك فانكشن تعريف ميكنيد ، بايد پارامتر هاي فرستاده شده در فانكشن را در پرانتز قرار دهيد . مثال :
function myFunction (name, age, reader){
...
}
همچنين براي آسانتر شدن عبارات رياضي در اسكريپت نيز از پرانتز ها بصورت ذيل استفاده ميشود .
(در زبان هاي برنامه نويسي اعمال رياضي بترتيب خاصي در پراسيجر تفسير ميشوند . وقتي يك عبارت رياضي داخل پرانتز باشد محاسبه آن قبل از بقيه عبارت صورت ميگيرد . به مثال زير دقت كنيد :
Total =2+3*5 ;
Total =(2+3)*5 ;
در عبارت اولي ابتدا عمل ضرب و سپس جمع صورت ميگيرد و پاسخ عدد 17 است
در عبارت دوم بعلت وجود پرانتز ابتدا پرانتز محاسه و سپس ضرب صورت ميگيرد و جواب 25 است .
از پرانتز همچنين براي مقدار دهي عبارات استفاده ميشود . قالب كلي آن مانند مثال زير است :
(new Color(this)).setRGB(0xffffff);
اگر بخواهيد از پرانتز استفاده نكنيد بايد از 2 عبارت استفاده كنيد :
myColor = new Color(this);
myColor.setRGB(0xffffff);
حساسيت به حروف كوچك و بزرگ :
فقط كلمات كليدي اكشن اسكريپت به حروف حساسند و در بقيه موارد ميتوانيد از هر دو حالت استفاده كنيد .
شما نميتوانيد از اسم هاي رزرو شده اكشن اسكريپت بجاي نام اشياي خود استفاده كنيد .
اگر كلمات كليدي اسكريپت را از لحاظ كوچكي و بزرگي اشتباه بنويسيد اسكريپت حاصل دچار مشكل خواهد شد . keyword ها در حالت پيش فرض در پنجره اكشن به رنگ آبي هستند
كامنت نويسي :
كامنت ها كد نيستند بلكه جملاتي اند كه طراح در ميان كد ها براي توضيح درباره كد مينويسد تا در رجوع بعدي خود كاري كه انجام داده را بياد آورد . در اكشن اسكريپت از دو بك اسلش پشت سر هم ، براي نوشتن كامنت استفاده ميشود . خطي كه با // شروع شود جزو كد ها به حساب نمي آيد و در كامپايل فايل فلش ناديده گرفته ميشود . در نوشتن كامنت محدوديت لغتي وجود ندارد .
كلمات كليدي :
اكشن اسكريپت تعدادي از لغات خاص را براي استفاده هاي خاص زبان اسكريپت براي خود رزرو كرده كه شما نميتوانيد اين لغات را بعنوان اسم متغير ، فانكشن يا اسامي ليبل استفاده كنيد .
اين كلمات عبارتند از :
break else instanceof typeof
case for new var
continue function return void
default if switch while
delete in this with
ثابت ها :
ثابت ها چيز هايي مانند متغير ها هستند با اين تفاوت كه مقدارشان هرگز تغيير نميكند . بطور مثال ثابت هاي BACKSPACE, ENTER, QUOTE, RETURN از ثابت هاي شيي key هستند كه به كليد هاي كيبورد مربوطند . مثلا براي اينكه بفهميد كاربر كدام كليد را فشار داده از كد زير استفاده ميكنيم .
if(Key.getCode() == Key.ENTER) {
alert = "Are you ready to play?";
controlMC.gotoAndStop(5);
}
Action Script - FScommand
چگونه در فلش فایل exe بسازیم ؟
همانطور که اکثرا میدانید برای ساخت فایل های اجرایی با فلش بعد از ساخت فایل swf به منوی فایل رفته و سپس روی گزینه publish setting کلیک میکنیم . در پنجره ای که باز میشود گزینه windows projector را تیک میزنیم . حالا برای ساخت فایل exe دکمه publish را میزنیم .
فایل exe ما آماده است . اما این فایل یک فیلم فلش است که همیشه در پنجره flash player اجرا میشود . با این فرق که اجراگر فلش همراه فایل ، ضمیمه شده است و در دستگاه هایی که این player را ندارند اجرا میشود . در ضمن برای اینکه کاربر فلش شما را ببندد باید flash player آن را ببندد . حال برای اینکه یک دکمه خروج در برنامه بگذاریم چه میکنیم ؟
اکشن اسکریپت fscommand
یک دکمه روی فیلم خود بگذارید . حال آنرا انتخاب کنید و با زدن دکمه F9 پنجره Actions را باز کنید . کتاب Actions و سپس کتاب Browser/network را باز کنید و روی fscommand را دوبل کلیک کنید . حالا از منوی بازشوی سمت راست ، گزینهquit را انتخاب کنید . حال زدن این دکمه توسط کاربر در برنامه باعث بسته شدن فیلم فلش میشود ! .
اکشن اسکریپت برای full screen شدن
یک دکمه روی فیلم خود بگذارید . باز هم fscommand را دوبل کلیک کنید و اینبار از منوی سمت راست آن fullscreen را برگزینید. میبینید که در جعبه متنی بالای آن نام fullscreen و در قسمت پارامتر true نوشته شده است .این هم کد کامل آن که فلش برای شما ساخته است .
on (release) {
fscommand("fullscreen", "true");
}
اگر خواستید فیلم با زدن دکمه از حالت فوق خارج شود خودتان پارامتر true را به false تغییر دهید .
تغییر سایز فلش با سایز صفحه شما
اگر بخواهید فیلم فلش شما هنگامی که کاربر سایز FLASH PLAYER را عوض میکند ثابت بماند باید در منوی بازشوی fscommand گزینه allowscale را مساوی false قرار دهید . این هم کد کامل آن :
on (release) {
fscommand("allowscale", "false");
}
اکشن اسکریپت ، یک زبان شیئ گرا
به چه چيز هايي ميتوان Action Script داد ؟
دكمه ها ، فريم ها و مووي كليپ ها ميتوانند اكشن اسكريپت بگيرند .
• براي ربط دادن يك كد اسكريپت به فريم بايد ابتدا روي فريم موردنظر كليك كنيد و سپس وارد پنل اكشنز شويد و كد هاي خود را وارد كنيد . (توجه كنيد كه فقط فريم هايي كه فريم كليدي باشند اكشن ميپذيرند و اگر روي يه فريم معمولي كليك كنيد كه فريم كليدي نباشد اكشني كه در آن فريم وارد كنيد به اولين فريم كليدي قبل از آن فريم تعلق ميگيرد) .
• براي كد دادن به يك دكمه ، ابتدا روي دكمه كليك كنيد و سپس وارد پنل اكشنز شده و كد موردنظرتان را به آن اضافه كنيد .
• براي كد دادن به مووي كليپ ها شما در اصل به يك كپي از مووي كليپ كتابخانه كه روي صفحه فلشتان است اسكريپت ميدهيد و بقيه كپي هايي كه از سمبل روي آن كليپ كتابخانه در صفحه مي آوريد از آن اسكريپت بهره نمي گيرند.(در صورتي كه هنگام ويرايش مووي كليپ اصلي ، كدي را به يكي از فريم ها يا دكمه هاي موجود در مووي كليپ بدهيد آن اسكريپت براي سمبل است و تمام كپي هايي كه از روي آن ميسازيد آن كد را دارا هستند). وقتي شما يك اكشن به يك مووي كليپ
ميدهيد بايد اكشن را در يك Event Handler قرار دهيد تا در صورت رخ دادن آن Event اكشني كه داده ايد اجرا شود .(Event به معناي رويداد است كه در تمامي زبان هاي برنامه نويسي نيز به همين نام مرسوم است . رويداد يعني رخ دادن يك اتفاق بر روي شيئ مورد نظر . مثلا رد شدن موس از روي مووي كليپ يك رويداد است و يا كليك روي آن يا خاتمه يافتن صدايي كه به يك فريم اختصاص داده ايد.).
اسكريپت نويسي شيئ گرا :
در اسكريپت نويسي شي گرا ، اطلاعات در گروه هاي خاصي دسته بندي ميشوند كه به آنها Class ميگويند . شما ميتوانيد چندين كپي از يك كلاس را در اسكريپت خود بسازيد كه به هر يك از آنها يك شي (Object) ميگوييم . شما ميتوانيد كلاس هاي مربوطه را خودتان بسازيد و يا از كلاس هاي آماده فلش در پوشه Objects در پنل اكشنز استفاده كنيد.
وقتي شما يك كلاس ميسازيد ، بايد تمامي دارايي ها ( property ) و متد Method هاي مربوط به هر شي اي را كه ساخته ايد تعريف كنيد. مثلا يك آدم داراي چه دارايي هايي است ؟ چشم ، دست ، مو ، و مانند آن . و داراي چه متد هايي ؟ متد راه رفتن ، خنديدن ، حرف زدن و غيره
. در مثال فوق كاراكتر آدم يك كلاس است و هر كپي از روي آن يك شي خواهد بود . اشياء در اكشن اسكريپت ميتوانند اطلاعات يا گرافيك ها را حمل كنند. بطور مثال يك مووي كليپ در فيلم فلش ما در اصل يك شي از كلاس مووي كليپي است كه در كتابخانه آن فيلم فلش قرار دارد و شامل تمام دارايي ها و متد هاي شي اصلي است.
براي تعريف كردن يك كلاس شما بايد يك فانكشن constructorتعريف كنيد بطور مثال اگر شما اطلاعاتي درباره يك دوچرخه سوار در فيلم فلش خود داريد شما ميتوانيد يك فانكشن از نوع constructor بنام Biker بسازيد و براي آن دو پراپرتي زمان و فاصله تعريف كنيد و يك متد Getspeed كه اين متد سرعت دوچرخه سوار را در هر لحظه كه فراخواني شود ميدهد .
function Biker(t, d) {
this.time = t;
this.distance = d;
this.getSpeed = function() {return this.time / this.distance;};
}
در مثال بالا يك فانكشن ساختيم كه دو متغير براي دريافت اطلاعات بنام هاي t , d دارد .وقتي شما اين فانكشن را براي ساخت يك كپي از شي آن فراخواني ميكنيد بايد پارامتر هاي تعريف شده را نيز بهمراه نام فانكشن وارد كنيد . به مثال زير توجه كنيد:
emma = new Biker(30, 5);
hamish = new Biker(40, 5);
در كد هاي بالا دو شيئ biker با نام هاي emma و hamish ساختيم . همانطور كه ميبينيد بعد از نوشتن نام فانكشن داخل پرانتز پارامتر هاي تعريف شده را هم نوشته ايم.
وراثت در اسكريپت نويسي شيئ گرا :
در اسكريپت نويسي شيئ گرا Class ها ميتوانند متد ها و پراپرتي ها را به روش وراثت inheritance از همديگر دريافت كنند . شما ميتوانيد وراثت را براي گسترش يا دوباره سازي متد ها و پراپرتي هاي يك كلاس بكار گيريد . كلاسي كه ار كلاس ديگر ارث ميبرد Subclass ناميده ميشود .(sub به معناي زير مجموعه است) و كلاسي كه متد ها و پراپرتي هايش را به كلاس ديگر پاس ميدهد superClass ناميده ميشود . يك كلاس ميتواند هم Subclass و هم SuperClass باشد .
اكشن اسكريپت : متغير هاي رشته اي ، عددي و بولين و نال
رشته چيست ؟
رشته مجموعه اي از كاراكتر هاست كه در كنار هم قرار گرفته اند و ميتواند شامل حروف و اعداد و كاراكتر هاي نقطه گذاري باشند . براي نوشتن رشته ها بايد آنها را در ميان كوتيشن قرار داد. مثلا : “Mediax”
شما ميتوانيد از عملگر + جهت متصل كردن دو رشته به هم استفاده كنيد . اكشن اسكريپت فاصله ها را در ابتدا يا انتهاي رشته ها جزو رشته به حساب مي آورد . يعني هر فاصله دقيقا مانند يك كاراكتر از رشته است . گر چه در اكشن اسكريپت متغير ها ، نام اشياء و ليبل فريم ها حساس به بزرگي يا كوچي حروف نيستند ، اما در مورد رشته ها اين خاصيت برقرار است .در مثال زير
جملات نوشته شده خروجي هاي گوناگوني را نشان ميدهند . چون دو لغت “macro”و “MACRO” دو رشته واقعي هستند :
invoice.display = "macro";
invoice.display = "MACRO";
براي نشان دادن كوتيشن در يك رشته ، بايد قبل از آن يك كاراكتر بك اسلش بگذاريد . به اينكار ميگويند فرار (Escaping) كاراكتر . كاراكترهاي ديگري هم هستند كه در اكشن اسكريپت نشان داده نميشوند مگر اينكه از روش هاي فرار كاراكتر خاص آنها استفاده كنيد . جدول زير تمامي كاراكتر هاي استفاده براي فرار يك كاراكتر را نشان ميدهد :
Escape sequence Character
\b Backspace character (ASCII 8)
\f Form-feed character (ASCII 12)
\n Line-feed character (ASCII 10)
\r Carriage return character (ASCII 13)
\t Tab character (ASCII 9)
\" Double quotation mark
\' Single quotation mark
\\ Backslash
\000 - \377 A byte specified in octal
\x00 - \xFF A byte specified in hexadecimal
\u0000 - \uFFFF A 16-bit Unicode character specified in hexadecimal
اعداد :
نوع داده اي عدد از نوع داده اي بسيار دقيق شناور ميباشد . شما ميتوانيد از عملگر هاي حسابي زير جهت عمليات رياضي استفاده كنيد :
+ جمع
- تفريق
* ضرب
/ تقسيم
% به پيمانه
++ افزايش
ـ ـ كاهش
• توجه : ++ جهت افزودن يك واحد به يك متغير عددي كاربرد دارد . بيشترين استفاده از آن نوشتن i++ بجاي i=i+1 ميباشد . اين عملگر هم قبل و هم بعد از نام متغير عددي استفاده ميشود . در مثال زير متغير age ابتدا يك واحد اضافه شده و سپس با عدد 30 چك ميشود .
if (++age >= 30)
اما در مثال زير age بعد از انجام عمل مقايسه اضافه ميشود .
if (age++ >= 30)
همچنين ميتوانيد از متد هاي آماده آبجكت رياضي اكشن اسكريپت براي دستكاري اعداد استفاده كنيد . در مثال زير ازمتد sqrt جهت جذر گرفتن از عدد داده شده استفاده كرده ايم :
Math.sqrt(100);
نوع داده بولين :
يك مقدار بولين مقداريست كه دو حالت بيشتر نداره ، يا true يا false . اكشن اسكريپت اين دو مقدار را به دو مقدار 1 و 0 نيز تبديل ميكند . مقادير بولين معمولا با عملگر هاي منطقي در جملات اكشن اسكريپت استفاده ميشوند كه باعث انجام مقايسه اي براي اجراي كد بعدي ميشود . بطور مثال در كد زير فيلم در صورتي اجرا ميشود كه متغير Password مقدارش true باشد
onClipEvent(enterFrame) {
if (userName == true && password == true){
play();
}
}
نوع داده تهيNULL) ) :
اين نوع داده فقط يك مقدار دارد و آنهم NULL است به معناي پوچ ، يعني هيچ داده اي وجود ندارد. اين نوع داده براي تفاوت قائل شدن بين وضعيت هاي گوناگون كاربرد دارد . چند مثال :
• براي اينكه نشون بده هنوز يك متغير مقدار دهي نشده يا اينكه در اين لحظه هيچ مقداري نداره .
• براي هنگامي كه ميخواهيد در يك فانكشن مقدارش را چك كنيد تا در صورت وجود ارسال شود .
• و ...
نوع داده اي تعريف نشده ( Undefined) :
اين نوع داده نيز فقط يك مقدار دارد كه Undefined است و براي متغير ها استفاده ميشود كه هنوز مقداري نگرفته اند .
اكشن اسكريپت : كنترل در زمان اجرا
وقتي شما يك اكشن اسكريپت مينويسد ،از پنل Actions براي ضميمه كردن كد ها به فريم يا دكمه يا مووي كليپ ها استفاده ميكنيد . اسكريپت هايي كه به فريم ها ضميمه ميكنيد زماني اجرا ميشوند كه هد اجرايي فلش وارد آن فريم شود . اما فريم اول فيلم فلش بگونه اي متفاوت از ساير فريم ها عمل ميكند . چون اولين فريم فيلم فلش كم كم لود ميشود و اشياء در آن همينطور كه
دانلود ميشوند نمايش داده ميشوند و اين موضوع بر روي اجراي اسكريپت ها اثر ميگذارد . اما فريم هاي بعد از فريم اول تا وقتي تمام اشياء داخل آن فريم لود نشوند نمايش داده نميشوند .
اسكريپت هايي كه به مووي كليپ يا دكمه ها نسبت داده شده اند زماني اجرا ميشوند كه رويداد (event) خواسته شده اتفاق افتد . يك رويداد يك اتفاقي است كه توسط كاربر يا گاهي توسط فيلم فلش شما اتفاق مي افتد ، مانند كليك كردن موس ، فشردن يك دكمه از كيبورد ، و يا لود
شدن يك مووي كليپ ( اين آخري توسط فيلم اتفاق افتاده) . شما ميتوانيد بر اساس رويداد هايي كه رخ ميدهد كد هاي متفاوتي بنويسيد تا در هنگام رخ دادن هر رويداد يك كد خاص اجرا گردد .
اكشن هايي كه به دكمه ها يا مووي كليپ ها نسبت ميدهيد در اكشن هاي خاصي بنام Handler حبث ميشوند .on و onClipEvent دوHandler هستند . شما ميتوانيد يك يا بيش از يك Event را در يك Handler قرار دهيد و همچنين ميتوانيد بيش از يك Handler براي هر شيئ قرار دهيد . هندلر
onClipEvent براي مووي كليپ و هندلر on براي دكمه هاست . همچنين شما ميتوانيد از on براي خلق مووي كليپ دكمه اي استفاده كنيد كه رويداد هاي دكمه را دريافت ميكند .
رويداد هاي مووي كليپ و دكمه ها ميتوانند توسط متد هاي خود شيئ نيز بكار گرفته شوند . شما بايد يك فانكشن تعريف كنيد و آن را به متد Event Hadler ارجاع دهيد . اين فانكشن وقتي كه رويداد اتفاق بيافتد اجرا ميشود .
جدول زير متد ها و Event Handler هاي دكمه ها را نشان ميدهد :
Event handler actions Event handler methods
on (press) onPress
on (release) onRelease
on (releaseOutside) onReleaseOutside
on (rollOver) onRollOver
on (rollOut) onRollOut
on (dragOver) onDragOver
on (dragOut) onDragOuot
on (keyPress"...") onKeyDown, onKeyUp
جدول زير متد ها و Event Handler هاي مووي كليپ ها را نشان ميدهد :
Event handler actions Event handler methods
onClipEvent (load) onLoad
onClipEvent (unload) onUnload
onClipEvent (enterFrame) onEnterFrame
onClipEvent (mouseDown) onMouseDown
onClipEvent (mouseUp) onMouseUp
onClipEvent (mouseMove) onMouseMove
onClipEvent (keyDown) onKeyDown
onClipEvent (keyUp) onKeyUp
onClipEvent (data) onData
با اكشن اسكريپت همچنين ميتوانيد رويداد هاي TEXTbox و ديگر اشياء اكشن اسكريپت را كنترل كنيد.
اكشن اسكريپت - متغير ها در فلش
اكشن اسكريپت - متغير ها در فلش :
متغير چيست ؟
يك متغير يك نگه دارنده اطلاعات است كه بخشي از حافظه را بنام خود ميكند تا شما بتوانيد داخلش مقدار هاي متفاوتي را بنويسيد و پاك كنيد . متغير خودش ثابت ميماند اما مقدار داخلش تغيير ميكند .براي نگه داشتن مقادير انجام شدن يك كار خاص يا گرفتن اطلاعات از كاربر ، اول اطلاعات به حافظه رم كامپيوتر منتقل ميشود كه اينجا متغير ها هستند كه نقش نگه داري اطلاعات را انجام ميدهند .
يك ايده خوب در بكار گيري متغير ها اينه كه همون اول كه متغير را تعريف ميكنيم يه مقدار اوليه بهش بديم . به اينكار ميگويند 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 وجود دارد .