نام گذاري كدها (تابع)

سلام

بحث امروز ما درباره مفهومي است كه جايگاه ويژه‌اي در برنامه نويسي دارد؛ تابع. كمتر پيش مي‌آيد كه كدي را بنويسيد و از تابع، استفاده نكنيد.

تابع

تابع يا همان فانِكشين (Function)، مجموعه‌اي از يك يا چند كد است كه در يك جا جمع شده و داراي نام شده‌اند.
 

نام گذاري كد

اگر يادتان باشد، گفته بودم براي هر چيزي مي‌شود نامي انتخاب كرد، و به جاي آنكه مدام، كد آنرا تكرار كنيم، نام آنرا صدا مي‌زنيم. حالا كه تا حدودي با برنامه نويسي آشنا شده‌ايد، وقتش شده كه با نامگذاري آنها نيز آشنا شويد. براي اين كار از تابع استفاده مي‌كنيم.

مثال: كد پيام را به ياد داريد؟

<Script>
alert ("
سلام
")
</Script>

اگر بخواهيم براي آن، نامي انتخاب كنيم، ابتدا كد مورد نظر را داخل يك جفت كورشه { } قرار داده، تا از كدهاي ديگر جدا شود. بعد، كلمه function را در اول آن نوشته و بعد، نامي كه انتخاب كرده‌ايد را با يك جفت پرانتز ()، بنويسيد. به اين صورت:

<Script>
function funAlert()
{
alert ("
سلام
")
}
</Script>

نامي كه من انتخاب كردم funAlert است. fun مخفف function، و Alert نوع كد مرا مشخص مي‌كند. ‌

آيا مي‌دانيد كدي كه الان درست كرده‌ايم با كد قبلي كه بي‌نام بود، چه فرقي دارد؟ در عمل يك فرق كوچك، و آنكه اين است كه قبلا به محض باز شدن صفحه، اجرا شده و پيام نمايش داده ميشد؛ ولي حالا، تا نام آنرا صدا نزنيم، عمل نمي‌كند.

به نظر شما اين كار چه فايده‌اي دارد؟ منتظر جواب شما هستم.
 

صدا كردن تابع

حالا بايد بدانيد چگونه و كجا تابع خود را صدا كنيد. در جلسه هشتم، با رويدادها آشنا شديم. يكي از راه‌هاي صدا زدن توابع، استفاده از رويدادهاست. اگر مي‌خواهيد فلان كد، به هنگام باز شدن صفحه، اجرا شود، از رويداد onLoad  استفاده كنيد. اگر مي‌خواهيد با كليك كردن بر روي چيزي، برنامه‌اي اجرا شود، از onClick استفاده كنيد.

مثال: مي‌خواهم تابع funAlert، كه در مثال بالا درست كرده‌ام، به هنگام باز شدن صفحه اجرا شود. براي اين كار بايد به تگ بدنه (Body = بادي) رفته و اين كد را بنويسم:

<Body onLoad="funAlert()" ...>

اگر خواستيد با كليك بر روي عكسي، پيامي نمايش داده شود، بايد كد زير را در تگ عكس قرار دهيد. به اين صورت:

<img onClick="funAlert()"  ...>

نقطه چين، يعني بقيه كدهاي مربوط به عكس.
 

خلاصه:

براي ساخت و به كارگيري يك تابع، سه كار بايد كرد.
1- نوشتن كد: كدهايي را كه لازم داريم مي‌نويسيم.
2- نامگذاري: كدهاي نوشته شده را در يك جا، جمع كرده و نامگذاري مي‌كنيم.
3- صداكردن: در جاي مناسب، تابع را صدا مي‌كنيم.

پاورقي:
مي‌شود در يك صفحه، چند تابع جداگانه بسازيم.
مي‌شود يك تابع را توسط تابع ديگر، صدا زد. اين در زماني است كه دو تابع، در امتداد يكديگر فعاليت مي‌كنند.
• گاهي، داخل پرانتزي كه بعد از نام تابع قرار مي‌گيرد، چيزي نوشته مي‌شود به نام آرگومان كه يك نوع متغير است.
 

انواع متغير: متغير محلي و سراسري

اگر بخواهيم از نظر جنس، به متغير نگاه كنيم، سه نوع مهم دارد - رشته‌اي، عددي، منطقي- كه در جلسه قبل آشنا شديد. اما از لحاظ موقعيت و مكان استفاده، يك تقسيم بندي جديد براي متغير است.

1- متغير سراسري، عمومي (Global گلوبال)

اگر متغير را خارج از تابع بنويسيد، عمومي است؛ چون مي‌شود در سرتاسر برنامه، آنرا صدا زده و مورد استفاده قرار داد.

2- متغير محلي، خصوصي (Local لوكال)

اگر متغيري را داخل تابع تعريف كنيد، خصوصي است؛ يعني فقط در همان محل و همان تابع، كابرد دارد، و بيرون از آن، نه مي‌شود صدا زد و نه مي‌شود استفاده كرد.

خصوصيات متغير محلي و سراسري

- از متغير سراسري مي‌شود در توابع مختلف استفاده كرد؛ اما متغير محلي، فقط در همان تابع، كابرد دارد.
- محدوده متغير محلي، محدوده تابع آن است، و عمر آن، به اندازه عمر تابعش.
- مي‌دانيد كه نمي‌شود براي دو متغير، يك نام گذاشت؛ اما متغير محلي مي‌تواند با متغير سراسري، همنام باشد.
- اگر اين دو متغير، همنام شدند، تغيير مقدار يكي از آن دو، تاثيري در ديگري ندارد.

به اميد ديدار
خدانگهدار