تعریف تابع در JavaScript
یادگیری JavaScriptتوابع جاوا اسکریپت با کلمه کلیدی function تعریف شده است.
شما می توانید از یک تابع یا یک عبارت تابع استفاده کنید.
اعلام تابع
پیش از این در این آموزش، متوجه شدید که توابع با ساختار زیر ایجاد می شوند:
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 () تعریف کرد.
var myFunction = new Function("a", "b", "return a * b");
var x = myFunction(4, 3);
مشاهده مثالشما در واقع لازم نیست از تابع سازنده(Constructor) استفاده کنید. مثال فوق همانند مثال زیر است:
var myFunction = function (a, b) {return a * b};
var x = myFunction(4, 3);
مشاهده مثالاغلب اوقات شما می توانید با استفاده از کلید واژه new در جاوا اسکریپت اجتناب کنید.
بالا بردن تابع
پیش از این در این آموزش، شما درباره "بالا بردن" یاد گرفتید.
جابجایی برای اعلان متغیر و اعمال اعلان ها اعمال می شود.
به همین دلیل، توابع جاوا اسکریپت می توانند قبل از اینکه اعلام شوند، نامیده می شوند:
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 () این تابع را به عنوان یک رشته باز می کند:
function myFunction(a, b) {
return a * b;
}
var txt = myFunction.toString();
مشاهده مثال
نظر شما
>