تعریف تابع در JavaScript

توابع جاوا اسکریپت با کلمه کلیدی function  تعریف شده است.

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

اعلام تابع

پیش از این در این آموزش، متوجه شدید که توابع با ساختار زیر ایجاد می شوند:

function functionName(parameters) {
code to be executed
}

توابع اعلام شده بلافاصله اجرا نمی شوند. آنها "برای استفاده بعدی ذخیره شده اند" و بعدا اجرا می شوند، در واقع زمانی که مورد استفاده قرار می گیرند.

استفاده از توابع
function myFunction(a, b) {
    return a * b;
}
مشاهده مثال

سمیکالن ها برای جدا کردن اشیاء اجرایی جاوااسکریپت استفاده می شود.

عبارات تابع

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

یک عبارت تابع می تواند در یک متغیر ذخیره شود:

عبارات تابع
 var x = function (a, b) {return a * b}; 
مشاهده مثال

پس از بیان تابع در یک متغیر ذخیره می شود، متغیر می تواند به عنوان یک تابع استفاده شود:

ذخیره در متغییر
var x = function (a, b) {return a * b};
var z = x(4, 3); 
مشاهده مثال

تابع بالا در واقع یک تابع ناشناس (یک تابع بدون نام) است.

توابع ذخیره شده در متغیرها نیازی به نام تابع ندارند. آنها همیشه با استفاده از نام متغیر (call) نامیده می شوند.

Function() Constructor

همانطور که در مثال قبلی دیده می شود، توابع جاوا اسکریپت با کلید واژه function  تعریف می شوند.

توابع را می توان با یک ساختار ساخته شده در جاوا اسکریپت Function ()  تعریف کرد.

Function Constructor
var myFunction = new Function("a", "b", "return a * b");

var x = myFunction(4, 3); 
مشاهده مثال

شما در واقع لازم نیست از تابع سازنده(Constructor) استفاده کنید. مثال فوق همانند مثال زیر است:

Function Constructor
var myFunction = function (a, b) {return a * b};

var x = myFunction(4, 3); 
مشاهده مثال

اغلب اوقات شما می توانید با استفاده از کلید واژه new در جاوا اسکریپت اجتناب کنید.

بالا بردن تابع

پیش از این در این آموزش، شما درباره "بالا بردن" یاد گرفتید.
جابجایی برای اعلان متغیر و اعمال اعلان ها اعمال می شود.
به همین دلیل، توابع جاوا اسکریپت می توانند قبل از اینکه اعلام شوند، نامیده می شوند:

myFunction(5);
function myFunction(y) {
return y * y;
}

توابع خودآموزی (self-invoking)

عبارات تابع را می توان به صورت "self-invoking" انجام داد.
یک عبارت self-invoking به صورت خودکار (بدون استفاده) فراخوانی می شود (شروع).
عبارات تابع به طور خودکار اجرا خواهد شد اگر عبارت توسط () دنبال شود.
شما نمی توانید یک اعلامیه تابع خود را فراخوانی کنید.
شما باید پرانتز در اطراف تابع اضافه کنید تا نشان دهد که یک عبارت تابع است:

توابع خودآموزی
(function () {
    var x = "Hello!!";      // I will invoke myself
})();
مشاهده مثال

تابع بالا در واقع یک تابع self-invoking ناشناس است (تابع بدون نام).

توابع می توانند به عنوان مقدار استفاده شوند

توابع جاوا اسکریپت می تواند به عنوان مقادیر استفاده شود

توابع به عنوان مقدار
function myFunction(a, b) {
    return a * b;
}

var x = myFunction(4, 3); 
مشاهده مثال

توابع جاوا اسکریپت می تواند در عبارت ها استفاده شود:

استفاده توابع در عبارت ها
function myFunction(a, b) {
    return a * b;
}

var x = myFunction(4, 3) * 2; 
مشاهده مثال

توابع اشیاء هستند

عملگر typeof در جاوا اسکریپت " function " برای توابع باز می شود.
اما توابع جاوا اسکریپت می توانند بهترین باشند به عنوان اشیاء.
توابع جاوا اسکریپت دارای دو ویژگی و روش هستند.
ویژگی arguments.length  مقدار استدلال دریافت شده را هنگام فراخوانی تابع به دست می دهد:

توابع اشیاء هستند
function myFunction(a, b) {
    return arguments.length;
} 
مشاهده مثال

روش toString () این تابع را به عنوان یک رشته باز می کند:

متد toString
function myFunction(a, b) {
    return a * b;
}

var txt = myFunction.toString(); 
مشاهده مثال

 

نظر شما

لطفا نام و نام خانوادگی خود را وارد کنید
لطفا ایمیل خود را وارد کنید لطفا ایمیل صحیح وارد کنید.
لطفا متن نظر خود را وارد کنید
>

یادگیری JavaScript

مقالات و دروس

به خبرنامه مدرسه طراحی وب ایران (وب مهراز) بپیوندید.

لطفا شماره همراه صحیح وارد کنید.
لطفا ایمیل صحیح وارد کنید.

مقالات مرتبط