فراخوانی تابع ها در جاوا اسکریپت
فراخوانی یک تابع
یک تابع جاوا اسکریپت، وقتی اجرا می شود که صدا زده شود(فراخوانی شود).
برای فراخوانی یک تابع، نام آن را بنویسید و پس از آن یک جفت پرانتز قرار دهید، مانند name() .
فراخوانی تابع ها
هنگامی که ما یک تابع را تعریف می کنیم، کدهای درون آن، به خودیخود اجرا نمی شوند.
کدهای درون یک تابع، وقتی اجرا می شوند که تابع به یکی از روش های زیر صدا زده شود(فراخوانی شود):
- وقتی که تابع در داخل کدهای جاوا اسکریپت صدا زده شود.
- وقتی که یک رویداد رخ دهد(وقتی یک کاربر روی یک دکمه کلیک کند).
- اگر تابع اتوماتیک باشد و خودش خود را فراخوانی کند.
نکته: این امکان وجود دارد که یک تابع فراخوانی(invoked) شود، بدون اینکه صدا زده(called) شود.
همه ی موارد زیر به معنی فراخوانی یک تابع هستند:
- فراخوانی یک تابع
- شروع یک تابع
- اجرای یک تابع
مثال ها
تابع زیر، متن "Hello World" را برمی گرداند. اما قبل از اینکه ما آن را فراخوانی کنیم، اجرا نمی شود:
در کدهای زیر تابع مورد نظر صدا زده شده است. اما از نتیجه ی حاصل شده استفاده نشده است.
برای استفاده از مقدار برگشتی تابع، می توانیم آن را در داخل یک متغیر قرار دهیم یا آن را نمایش دهیم.
استفاده از مقدار برگشتی
وقتی که یک تابع، یک مقدار را برمی گرداند، ما می توانیم این مقدار را در یک متغیر ذخیره کنیم.
نمایش دادن خروجی
ما می توانیم مقدار برگشتی را به روش های مختلفی نمایش دهیم؛ بعنوان مثال می توانیم از دستور console.log() یا از HTML استفاده کنیم.
مثال شماره 5
<p id="demo"></p>
<script>
function sayHello() {
return "Hello World";
}
document.getElementById("demo").innerHTML = sayHello();
</script>
امتحان کنیدفراخوانی یک تابع به تعداد زیاد
ما می توانیم هر موقع که به یک تابع مشابه نیاز داشتیم، آن را فراخوانی کنیم.
مثال شماره 6
function sayHello() {
return "Hello World";
}
let a = sayHello();
let b = sayHello();
let c = sayHello();
تابع ها با استفاده از یک جفت پرانتز فراخوانی می شوند
عملگر () یک تابع را فراخوانی می کند.
مثال شماره 7
// تبدیل فارنهایت به سلسیوس
function toCelsius(fahrenheit) {
return (5/9) * (fahrenheit-32);
}
// toCelcius() فراخاونی تابع
let value = toCelsius(77);
امتحان کنیددسترسی به یک تابع بدون یک جفت پرانتز ( ) باعث می شود خود تابع برگردانده شود نه نتیجهی تابع:
مثال شماره 8
function toCelsius(fahrenheit) {
return (5/9) * (fahrenheit-32);
}
let value = toCelsius;
امتحان کنیددر مثال بالا:
دستور toCelsius به خودِ تابع رجوع می کند.
دستور toCelsius(77) به مقدار تابع رجوع می کند.
فراخوانی تابع در مقابل رجوع به تابع
این یک تفاوت مهم است:
دستور sayHello به خود تابع رجوع می کند. این دستور تابع را برمی گرداند.
دستور sayHello() به نتیجه ی تابع رجوع می کند. این دستور نتیجه را برمی گرداند.
در مثال بالا، متغیر text خود تابع را برمی گرداند، مانند زیر:
function sayHello() { return "Hello World"; }
تابع ها را می توانیم در هرجایی فراخوانی کنیم
ما می توانیم تابع ها را در دیگر تابع ها، یا در رویدادها یا در هر بلوکِ کدی فراخوانی کنیم.
مثال شماره 10
function sayHello() {
return "Hello World";
}
function showHello() {
document.getElementById("demo").innerHTML = sayHello();
}
امتحان کنیدمثال شماره 11
<p id="demo"></p>
<button onclick="showHello()">Click Me</button>
<script>
function sayHello() {
return "Hello World";
}
function showHello() {
document.getElementById("demo").innerHTML = sayHello();
}
</script>
امتحان کنیداشتباهات رایج
فراموش کردن پرانتزها ( )
sayHello به تنهایی تابع را اجرا نمی کند.
باید از دستور sayHello() استفاده کنید.
انتظار داشتن retuen
برخی تابع ها یک مقدار را بر نمی گردانند.
انتظار داشتن خروجی
اگر یک تابع یک مقدار را برگرداند(return کند)، باید این مقدار را با دستوراتی نمایش دهیم تا بتوانیم این مقدار را مشاهده کنیم.
منبع: www.w3schools.com/js
- بازدید: 36
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.