يك تابع جاوااسكريپت بلوكي از كداست كه براي موضوع خاصي طراحي شده است.
تابع جاوااسكريپت در بعضي از موارد كه پيش مي آيد باجرا(calls it) در مي آيد .
مثال ـ نمونه تابع جاوااسكريپت
// Function to compute the product of p1 and p2 function myFunction(p1, p2) { return p1 * p2; }
يك تابع جاوااسكريپت با كي وردfunction شروع وبدنبال نام تابع وسپس پرانتز باز وبسته ( )وبدنبال بلوك كد { code}
نام تابع مشابه نام گذاري متغيرها ميباشد . نام شامل حروف، ارقام،زيرخط وعلامت دلار است.
در داخل پرانتزها ورودي هاي تابع بوده كه با كاما تفكيك مي شوند .نماينده ورودي متغير است.
كد هائيكه بايد در تابع اجرا شوند در داخل{ } نوشته ميشوند .
الگوي آن مطابق زيراست
function name(parameter1, parameter2, parameter3) {
// code to be executed
}
پارامتر هاي تابع در داخل پرانتر در تعريف تابع ليست ميشوند.
آرگومان هاي تابع ، مقاديري هستند كه در هنگام فراخواني تابع دريافت ميشوند.
در داخل تابع ، آرگومان ها (پارامترها( به عنوان متغيرهاي محلي رفتار ميكنند .
كدهاي تابع هنگامي كه در مواردي تابع فراخوان(call it) ميشود، باجرا در مي آيند .
موارد اجراي تابع مطابق زيراست:
در مورد تابع در فصل هاي بعدي اطلاعات زيادتري مطرح ميشود.
هنگاميكه جاوااسكريپت در تابع به دستورreturn برخورد ميكند، اجراي تابع متوقف مي شود.
اگر تابع ازيك دستورفراخوان شده باشد، به دستور بعدازآن باز ميگردد.اگر تابع بدون دستور returnباشد، بازگشت پايان دستورات تابع است .
توابع اغلب داراي يگ مقدار بازگشتي محاسبه شده اند .مقدار بازگشتي به تماس گيرنده برگشت ميشود
مثال ـ تابع دو مقدار در يافتي را ضرب نموده ونتيجه را بازميگرداند.
// Function is called, the return value will end up in x let x = myFunction(4, 3); function myFunction(a, b) { // Function returns the product of a and b return a * b; }
دلايل استفاده از تابع:
عملگر( ) تابع را فراخوان(call) ميكند .
مثال ـ تبديل فارنهايت به سلسيوس
function toCelsius(fahrenheit) { return (5/9) * (fahrenheit-32); } let value = toCelsius(77);
استفاده از يك تابع با پارامترهاي نادرست ، ميتواند نتيجه نادرستي را نشان دهد.
مثال ـ استفاده نادرست .تابع بدون آرگومان فراخوان شده است.
function toCelsius(fahrenheit) { return (5/9) * (fahrenheit-32); } let value = toCelsius();
فراخواني تابع با نام وبدون( ) باعث مي شود كه تابع برگشت شود، نه نتيجه آن
مثال ـ فراخواني تابع بدون( )
function toCelsius(fahrenheit) { return (5/9) * (fahrenheit-32); } let value = toCelsius;
توجه ـ با توجه بدو مثال فوق فراخوان فرمtoCelsius مراجعه به شئ تابع و فراخوان بفرمtoCelsius() مراجعه براي نتيجه است .
تابع را ميتوانيد مشابه متغير در تمام فرمول ها، تكاليف ومحاسبات استفاده نمائيد.
مثال ـ استفاده از تابع مشابه متغير، ذخيرسازي نتيجه تابع در متغير
let x = toCelsius(77); let text = "The temperature is " + x + " Celsius";
مثال ـ استفاده مستقيم تابع در عبارت مشابه متغير
let text = "The temperature is " + toCelsius(77) + " Celsius";
در فصول بعدي مطالب زيادتري در مورد تابع مشاهده ميكنيد.
در داخل تابع ميتوان متغير تعريف نمود .متغيرهاي تعريف شده در داخل تابع محلي بوده وفقط در همان تابع قابل استفاد ميباشد.
مثال ـ تعريف متغير در تابع
// code here can NOT use carName function myFunction() { let carName = "Volvo"; // code here CAN use carName } // code here can NOT use carName
ار آنجائيكه متغيرهاي محلي درتابع خود قابل شناسائي ودسترسي هستند، ميتوان متغير همنام در توابع مختلف تعريف نمود.
متغيرهاي محلي تابع در شروع اجراي تابع ايجاد ودرپايان آن حذف ميشوند.