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