توابع (Functions)
«تابع (Function)» یعنی یک بلوک کد قابل استفاده دوباره. با تابع، کدت مرتب می شود و راحت تر نگهداری می شود. تابع وقتی «صدا زده» شود اجرا می شود.
تعریف تابع و بازگشت مقدار
تابع با کلمه function، یک نام، پرانتز پارامترها و آکولاد ساخته می شود.
function myFunction(p1, p2) {
return p1 * p2;
}
نحوه فراخوانی تابع
با نوشتن نام و پرانتز تابع اجرا می شود. بدون پرانتز، فقط خود تابع برمی گردد.
function toCelsius(fahrenheit) {
return (5 / 9) * (fahrenheit - 32);
}
let value = toCelsius(77);
function toCelsius(fahrenheit) {
return (5 / 9) * (fahrenheit - 32);
}
let fn = toCelsius;
پیکان ها (Arrow Functions)
تابع پیکانی در ES6 معرفی شد. کدنویسی را کوتاه تر می کند، اما رفتار this فرق دارد.
let myFunction = function(a, b) {
return a * b;
};
let myFunction = (a, b) => {
return a * b;
};
متغیر محلی (Local Variable)
متغیر تعریف شده داخل تابع، فقط همان جا دیده می شود و بیرون قابل دسترسی نیست.
// اینجا carName در دسترس نیست
function myFunction() {
let carName = "Volvo";
// اینجا carName در دسترس است
}
// اینجا carName در دسترس نیست
پارامترها و آرگومان ها
«پارامتر (Parameter)» نام جای خالی ها در تعریف تابع است. «آرگومان (Argument)» مقدار واقعی هنگام فراخوانی است.
function greet(name, age) {
return "Hello " + name + "! You are " + age + " years old.";
}
greet("John", 21);
استفاده تابع به عنوان مقدار
می توان نتیجه تابع را مستقیم داخل عبارت ها گذاشت و متن ساخت.
let x = toCelsius(77);
let text1 = "The temperature is " + x + " Celsius";
let text2 = "The temperature is " + toCelsius(77) + " Celsius";
گام های عملی
- یک تابع ساده با دو پارامتر بساز.
- تابع را با آرگومان های مختلف صدا بزن.
- همان تابع را با پیکان بازنویسی کن.
نکته: برای موضوعات مرتبط، صفحه اشیاء (Objects) را ببین. همچنین توابع جاوااسکریپت را برای پیوندهای مرتبط دنبال کن.
جمع بندی سریع
- تابع بلوک کد قابل استفاده دوباره است.
- فراخوانی با () انجام می شود.
- متغیرهای محلی فقط داخل تابع اند.
- پارامتر نام است، آرگومان مقدار است.
- Arrow Function کوتاه تر است.