توابع در جاوااسکریپت بلوک هایی از کد هستند که برای انجام عمل خاصی نوشته میشوند. در واقع دستوراتی که لازم داریم هر بار اجرا شود، را به صورت یک تابع یا Function مینویسیم و برای آن یه اسم انتخاب میکنیم؛ که هر موقع نیاز به اجرای آن چند خط کد باشد، فقط کافیست اسم آن تابع یا Function در جاوااسکریپت را فراخوانی یا صدا کنیم.
تعریف توابع در جاوااسکریپت
برای تعریف تابع در جاوا اسکریپت از کلمه کلیدی function استفاده میکنیم که برای آن تابع اسم دلخواه را مینویسیم و در داخل پرانتز آن پارامتر ها را مینویسیم. قواعد نام گذاری برای توابع دقیقا مثل قواعد نام گذاری برای متغیرها هست. (حروف، اعداد، علامت دلار و آندرلاین مجاز است)
جلسه مرتبط: متغیرها در جاوااسکریپت
اگر تابع به صورت چند تا پارامتر داشته باشد با علامت کاما (,) از هم جدا میشود؛ سینتکس کلی توابع در جاوااسکریپت به صورت زیر است:
function name(parameter1, parameter2, parameter3) { // code to be executed }
موقع تعریف پارامترهای داخل پرانتز، تابع همان آرگومان هایی هستند که موقع فراخونی تابع به عنوان متغیر نوشته میشوند. برای درک بهتر به مثال زیر توجه کنید:
function sum(a, b) { return a + b ; }
با نوشتن تابع بالا، میتوانیم در هر کجای برنامه (کد)، با فراخوانی کردن 2 تا عدد با هم جمع می شوند که در اینجا فقط کافیست اسم تابع نوشته شود و به جای a و b دو عدد دلخواه را بگذاریم.
sum(5, 6); // output: 11
مثلا در کد فوق، برای جمع دو عدد از تابع Sum استفاده شده است که داخل پرانتز آن 2 عدد قرار میدهیم. خلاصه یه دید اجمالی نسبت به توابع را دیدیم، اما توابع خیلی گسترده تر و مهم تر از جمع کردن دو تا عدد وجود دارند.
فراخوانی توابع در جاوااسکریپت
برای فراخوانی کدهای داخل توابع معمولا در سه حالت رخ میدهد:
- زمانی که کاربر دکمه ای را کلیک کند
- زمانی که اسم تابع در کدهای جاوااسکریپت آورده شود
- به صورت اتوماتیک
برای فراخوانی یک تابع یا Function لازم است که اسم تابع به همراه () آورده شود. در واقع پرانتز باز و بسته () ، عمل فراخونی و اجرای کدهای یک تابع را انجام میدهد.
دستور return در تابع
برای خروجی فراخوانی تابع داخل کدهای جاوااسکریپت از دستور return استفاده می کنیم. یعنی پس از انجام مراحل تابع، یک خروجی و یک نتیجه برای ما برگشت داده میشود. مثلا نتیجه ی خروجی 2 تا عدد که از کاربر گرفته شده و در هم ضرب شده و جواب نهایی برای ما به اصطلاح برگشت داده شود یا return می شود.
var x = myFunction(5, 4); // Function is called, return value will end up in x function myFunction(a, b) { return a * b; // Function returns the product of a and b } // output: x = 20
چرا باید از توابع استفاده کنیم؟
توابع در واقع مثل فرمول عمل میکنند، زیرا یک فرمول ساده را یکبار مینویسیم و با قراردادن مقادیر مختلف بجای پارامترها، خروجی مد نظر را تعیین میکنیم. کد نویسی اینکار باعث صرفه جویی در کد نویسی می شود و همچنین از لحاظ زمانی و هم از لحاظ حجم کد به صرفه تر خواهد بود.
استفاده از توابع در مقادیر متغیر
برای محاسبه یا فرمول یا هر چیز دیگری میتوانید از توابع استفاده کنید و آن را به یک متغیر نسبت بدهید.
function toCelsius(fahrenheit) { return (5/9) * (fahrenheit-32); } var text = "The temperature is " + toCelsius(77) + " Celsius";
متغیر محلی در توابع
نکته: دقت کنید که متغیر هایی که داخل توابع تعریف میشوند، فقط و فقط داخل تابع اعتبار دارند و خارج از آن نمیتوانید از آن مقدار استفاده کنید و در نتیجه دوباره باید متغیر تعریف کنید.
// code here can NOT use carName function myFunction() { var carName = "Audi"; // code here CAN use carName } // code here can NOT use carName
جلسه بعد مربوط به توابع ریاضی است که توضیح خواهیم داد.
دیدگاه و پرسش