تابع چیست؟
هنگامیکه شما شروع به نوشتن کد می کنید، باید سعی کنید که اسکریپت شما حتی الامکان خلاصه و منظم و خوانا باشد تا در مراجعت بعدی برای عیب یابی و یا تغییرات، مشکلی نداشته باشید. همیشه کدهای شما کوتاه نیست و گاهی اسکریپت شما ممکن است تا پنجاه خط برسد که در این موقع نیاز به یک سازمان دهی دارید.
توابع یا همان functions در جاوااسکریپت می توانند کمک بزرگی به این سازمان دهی کنند. شما می توانید یک مجموعه کد را که باید در جاهای مختلف تکرار شود را به صورت یک تابع تعریف کنید و در هر جای اسکریپت به آن نیاز داشتید آنرا فراخوانی کنید و از نوشتن مجدد بپرهیزید. پس یک تابع، مجموعه کدی است که می توان آنرا در جاهای مختلف اسکریپت استفاده کرد بدون آنکه نیاز به نوشتن مجدد آن کدها باشد. یک تابع می تواند هر دستوری از جاوااسکریپت و یا حتی یک خط کد ساده باشد:
{
alert ( " Hello friends! " )
}
همانطور که مشاهده می کنید برای تعریف یک تابع از کلمه function استفاده می شود و دقت کنید که حروف آن باید حتماً کوچک باشد. بعد از نوشتن دستور function نوبت به تعیین یک اسم واحد برای این تابع است که بهتر است این اسم متناسب با وظیفه ای که این مجموعه قرار است انجام دهد باشد چون بخاطر آوردن آن هم راحتتر خواهد بود. سپس پرانتز می گذاریم تا در صورت لزوم پارامترهایی را در آن مشخص کنیم که به این پارامترها آرگومان و یا argument می گویند. طبق معمول هم با گذاشتن علامت آکلاد مشخص می کنیم که این مجموعه در کجا شروع و در کجا ختم می شود که در بین این علامت هم کدهای جاوااسکریپت را وارد می کنیم. در اینجا یک دستوری نوشته شده که هنگام فراخوانی این تابع و اجرای کد، یک پنجره باز می کند و عبارت متنی داخل پرانتز را نمایش می دهد که در بخشهای بعدی در مورد اینگونه پیغامها و پنجره ها بیشتر توضیح خواهم داد.
شما یک تابع را در هر کجای یک سند html می توانید بکار برید. اگر دستوراتی است که هنگام باز شدن صفحه وب باید اجرا شوند و یا آماده اجرا باشند پس بهتر است در قسمت head نوشته شوند. حتی می توانید یک تابع را در فایل خارجی جاوااسکریپت که با پسوند js ذخیره می شود وارد کنید تا در صفحات مختلف آنرا بکار برید.
فراخوانی یک تابع
توابعی که در یک سند اچ تی ام ال تعریف می شوند به خودی خود اجرا نخواهند شد. اگر شما یک تابع تعریف کنید پس از باز کردن صفحه وب خواهید دید که هیچ اتفاقی نمی افتد.
توابع پس از تعریف باید در جای مورد نظر فراخوانی شوند یعنی آنها را صدا کنیم تا به کمک ما بیایند. در حقیقت آنها آماده هستند تا پس از فراخوانی اجرا شوند. همانطور که با صدا کردن اسمتان شما پاسخ می دهید، یک تابع هم باید اسمش را بکار برید تا اجرا شود. پس هر کجا که نیاز به دستورات آن تابع داشتید، نامش را بنویسید:
نگران دستور alert و onclick نباشید چون در بخشهای بعدی با آنها آشنا خواهید شد. فقط به فراخوانی تابع دقت کنید که چگونه بکار برده می شود.
آرگومان یک تابع
گاهی اوقات هنگام تعریف یک تابع، آرگومان و یا پارامتری را برای آن داخل پرانتز تعیین می کنید تا هنگام صدا زدن تابع، آن آرگومان مقداردهی شود. در کل می توان گفت که یک آرگومان، متغیری است که هنگام صدا زدن تابع مقدار آن ارسال می شود تا تابع از آن استفاده کند. می توانیم مثال بالا را با یک آرگومان تعریف کنیم:
{
alert ( msg )
}
در اینجا یک آرگومان بنام msg تعیین کردیم تا هنگام فراخوانی تابع، مقدارش به تابع فرستاده شود و نتیجه آن اجرا شود. در حقیقت عبارت Hello friends مقدار این آرگومان می باشد. تعیین آرگومان هیچ محدودیتی ندارد و فقط باید آنها را با علامت کاما از هم جدا کنید.
دقت کنید که در دستورات جاوااسکریپت، بین دو علامت " " باید از ' ' استفاده شود چون اگر مجدداً از خود علامت نقل قول یعنی " " استفاده کنید با پیغام خطا مواجه می شوید.
بازگرداندن یک مقدار توسط دستور return
توابع جاوااسکریپت دارای یک دستوری بنام return هستند که وظیفه این دستور برگرداندن مقادیر تعریف شده در آن تابع است.
return ( " Hello world! " )
}
.......
document.write ( greeting( ) )
این مجموعه کد را اگر بدون استفاده از return اجرا کنید، نتیجه درست نخواهید گرفت. به یک مثال دیگر توجه کنید:
همانطور که مشاهده می کنید دو آرگومان برای تابع total تعریف شده است که در متغیر x ذخیره می شوند و توسط دستور return مقدارشان به تابع ارسال خواهد شد.
در نظر داشته باشید که توابع در جاوااسکریپت بسیار کاربرد دارند و شما هنگام نوشتن اسکریپت خود پی به اهمیت آنها خواهید برد مخصوصاً زمانی که یک سری کد را بخواهید در کلیه صفحات یک وب سایت بکار برید که می توانید آنها را بصورت یک تابع در یک فایل خارجی جاوااسکریپت ذخیره کنید و سپس در هر صفحه آن تابع را فراخوانی کنید.
نظرات شما عزیزان: