دوستان عزیز ؛ حال شما خوبه ؟ با اموزش توابع functions درجاوا اسکریپت در خدمت شما هستم.تابع (function) در جاوا اسکریپت عبارت است از یک مجموعه یا بلوکی از کدهای داخل آکولاد {} که برای انجام وظیفه ی (task) خاصی طراحی شده اند.

یک تابع زمانی اجرا می شود که چیزی (مانند رویداد onclick) آن را صدا زده یا فرابخواند.

مثال

نمونه یک
?
۱
۲
۳
۴
۵
۶

function myFunction(a, b) {
return a * b;
}
document.getElementById(“demo”).innerHTML = myFunction(4, 3);

سینتکس یا دستور نحوی تابع در جاوا اسکریپت

نحوه ی تعریف یک تابع در زبان جاوا اسکریپت بدین ترتیب می باشد : در مرحله ی اول کلیدواژه ی function را تایپ می کنیم، سپس یک اسم و به دنبال آن پرانتز () را قرار می دهیم.

اسم تابع می تواند دربردارنده ی حروف، اعداد، خط زیرین / underscore و همچنین علامت دلار باشد، در حقیقت همان قواعدی که برای متغیرها رعایت می شود.

می توان اسم پارامترها را داخل پرانتز جای گذاری کرده و آن ها را با ویرگول از هم جداسازی کرد، مشابه این نمونه : …) (parameter1,parameter2,

کدی که باید توسط تابع اجرا گردد، داخل آکولاد {} قرار می گیرد.

function name(parameter1‎،‎ parameter2‎،‎ parameter3) {

‎ code to be executed

‎}‎

parameter / پارامترهای تابع همان / nameاسامی هستند که در تعریف تابع لیست شده اند.

Argument / آرگومان های تابع نیز همان value / مقادیر حقیقی هستند که هنگامی که تابع فراخوانده می شود این مقادیر واقعی به آن (تابع) داده می شوند.

داخل تابع، آرگومان ها به عنوان متغیرهای محلی (local variables) مورد استفاده قرار می گیرند.

توجه

تابع در حقیقت همان زیر روال (subroutine) یا رویه (procedure) در دیگر زبان های برنامه نویسی است.

فراخوانی تابع / Function invocation

کد داخل تابع زمانی اجرا می شود که چیزی تابع یا function را صدا بزند.

زمانی که یک رویداد یا event رخ می دهد.(برای مثال زمانی که کاربر روی دکمه ی کلیک می کند)

هنگامی که از کد جاوا اسکریپت فراخوانی می شود.

و یا به صورت خودکار که به آن self invoked گفته می شود و تابع طی آن خودش را به صورت اتوماتیک صدا می زند.

دستور return

هنگامی که جاوا اسکریپت به return statement (دستور return) می رسد، تابع اجرای کدها را متوقف می کند.

چنانچه تابع از یک دستور (statement) فراخوانی شود، در آن صورت جاوا اسکریپت باز گشته تا کد را پس از دستور فراخوان (invoking statement / دستوری که تابع را صدا زده بود) اجرا کند.

دستور return برای برگداندن یک مقدار مشخص در توابع، بکار گرفته می شود.

توابع اغلب یک return value / مقدار بازگشتی محاسبه کرده و بازمی گردانند، به عبارتی دیگر تابع مقدار بازگشتی را به فراخوان یا صدا زننده (caller) برمی گرداند.

مثال

حاصل ضرب دو عدد را محاسبه کرده و نتیجه را برمی گرداند.

نمونه دو
?
۱
۲
۳
۴

function myFunction(a, b) {
return a * b;
}
document.getElementById(“demo”).innerHTML = myFunction(4, 3);

چرا باید از توابع (functions) استفاده کنیم؟

می توان کدها را مجددا مورد استفاده قرار داد : یکبار کد را تعریف کنید و آن را بارها بکار ببرید.

می توان یک کد را بارها استفاده نمود و هر بار یک آرگومان متفاوت برای آن در نظر گرفت و از این طریق نتایج گوناگون بدست آورد.

مثال

تبدیل فارنهایت به سلسیوس

نمونه سه
?
۱
۲
۳
۴

function toCelsius(f) {
return (5 / 9) * (f – 32);
}
document.getElementById(“demo”).innerHTML = toCelsius(32);

عملگر () تابع را فراخوانی می کند.

با استفاده از مثال بالا می توان دریافت که toCelsius به شی تابع (function object) ارجاع می دهد و toCelsius() به نتیجه ی تابع اشاره دارد.

مثال

دسترسی به تابع بدون استفاده از عملگر () باعث می شود که بجای نتیجه، تعریف تابع برگردانده شود.

نمونه چهار
?
۱
۲
۳
۴
۵

function toCelsius(f) {
return (5 / 9) * (f – 32);
}
document.getElementById(“demo”).innerHTML = toCelsius;
//document.getElementById(“demo”).innerHTML = toCelsius(32);

استفاده از توابع به عنوان متغیر

در زبان جاوا اسکریپت می توان توابع را به همان شیوه ی که متغیرها را استفاده می نمایید، بکار ببرید.

مثال

می توانید از این نمونه

var text = “The temperature is ” + toCelsius(32) + ” Centigrade”;‎

بجای

var x = toCelsius(32);

var text = “The temperature is ” + x + ” Centigrade”;‎

استفاده کنید.

نمونه پنج
?
۱
۲
۳
۴
۵
۶

document.getElementById(“demo”).innerHTML =
“The temperature is ” + toCelsius(32) + ” Centigrade”;

function toCelsius(fahrenheit) {
return (5 / 9) * (fahrenheit – 32);
}