تابع در جاوا اسکریپت یک بلوک از کد می باشد که برای انجام یک کار به خصوص تعریف شده است. یک تابع جاواسکریپت تنها زمانی اجرا می شود که در نقطه ای از برنامه فراخوانی شود.
قاعده ی نوشتاری تابع جاوا اسکریپت
یک تابع جاوا اسکریپت با کلیدواژه ی function که بعد آن یک اسم و یک جفت پرانتز () می آید تعریف می شود. اسمی که بعد از کلمه کلیدی function می آید نام تابع می باشد که با استفاده از این نام می توانیم این تابع را برای اجرا فراخوانی کنیم. اسامی توابع می تواند شامل حروف، ارقام، خط تیره و $ باشد.
درون پرانتزها پارامترهای ورودی تابع قرار می گیرند که در صورتی که تعداد پارامترها بیشتر از یکی باشد، می بایست با استفاده از کاما (,) از یکدیگر جدا گردند مانند (پارامتر1، پارامتر2،...)
دستوراتی که بعد از فراخوانی تابع باید اجرا گردد، درون آکولاد قرار می گیرند.
پارامترهای تابع درون پرانتز لیست می شوند
تابعی که دارای پارامترهای ورودی می باشد نیازمند مقادیری برای این پارامترها می باشد تا بتواند وظیفه خود را به انجام رساند. بنابراین در زمان فراخوانی تابع می بایست مقادیر مناسب برای این پارامترها ارسال گردد تا تابع بتواند به درستی به وظیفه خود عمل نماید. درون تابع، ورودی ها (پارامترها) مانند متغیرهای محلی عمل می کنند.
فراخوانده شدن تابع
کد داخل تابع هنگامی که چیزی تابع را فرا می خواند اجرا می شود:
وقتی اتفاقی رخ می دهد (وقتی کاربر دکمه ای را فشار می دهد).
وقتی از کد جاوا اسکریپت فراخوانده شده است.
بصورت خودکار (فراخوانده شدن خودکار).
برگشت تابع
وقتی جاوا اسکریپت به یک دستور return می رسد، تابع عمل اجرا را متوقف می کند. اگر تابع از یک دستور فراخوانده شده است، جاوا اسکریپت بعد از دستور فراخوانی برای اجرای آن کد برمیگردد. توابع اغلب یک مقدار برگشتی را محاسبه می کنند. مقدار برگشتی به فراخواننده برمیگردد.
چرا توابع؟
شما می توانید دوباره از کد استفاده کنید: یکبار کد را تعریف کنید، و دوباره بارها از آن استفاده کنید. می توانید بارها از کد مشابه با ورودی های متفاوت برای تولید جواب های متفاوت استفاده کنید.
عملگر تابع را فرا می خواند
با استفاده از مثال بالا، toCelsius به شی تابع مربوط می شود، و toCelsius() به پاسخ تابع مربوط می شود. دسترسی به یک تابع بدون () ، شی تابع را به جای پاسخ تابع بر می گرداند.
توابع بعنوان مقادیر متغیر استفاده می شوند
توابع می توانند به روش مشابه استفاده از متغیرها استفاده شوند، در تمامی انواع فرمول ها، محاسبات و عملیات های تخصیص مقادیر.
متغیرهای محلی
متغیرها درون تابع جاوا اسکریپت اعلان شده و برای تابع محلی محسوب می شوند. متغیرهای محلی فقط درون تابع قابل دسترسی هستند.
از آنجا که متغیرهای محلی فقط درون توابع خودشان شناخته می شوند، متغیرها با اسامی مشابه می توانند در توابع مختلف استفاده شوند. متغیرهای محلی وقتی که یک تابع شروع می شود ساخته می شوند، و هنگامی که تابع کامل می شود حذف می شوند.