توابع جاوا اسکریپت

توابع جاوا اسکریپت

دسته بندی : آموزش Javascript سطح مقاله : متوسط زمان مطالعه : 6 دقیقه آخرین بروز رسانی: 17 اسفند 1399

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

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

در این آموزش می آموزید که چگونه می توان توابع جاوا اسکریپت را ایجاد کرد. همچنین می توانید در مورد اعلان عملکرد و عبارات عملکرد JavaScript ، که شامل بلند کردن نیز هست ، مطالعه کنید.

نکات اصلی توابع جاوا اسکریپت:

  • برای تعریف عملکرد از یک تابع کلمه کلیدی استفاده می شود.
  • شما می توانید یک تابع را از طریق اعلان عملکرد یا عبارت تعریف کنید.
  • اعلان های عملکرد بالا می روند ، در حالی که عبارات عملکرد اینگونه نیستند.
  • توابع را می توان با یک سازنده تابع Function نیز تعریف کرد.
  • عملکردها می توانند خود استناد کنند.

اعلامیه عملکرد در برابر بیان

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

function sampleFunction(a, b) {
    return a * b;
}

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

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

var a = function (b, c) {return b * c}

بعداً ، از همان متغیر به عنوان یک تابع استفاده می شود. مثال زیر شامل یک تابع ناشناس است. از آنجا که نامی ندارد ، توسط متغیر فراخوانی می شود:

var a = function (b, c) {return b * c};
document.getElementById("test").innerHTML = a(4, 3);

بلند کردن

JavaScript به طور پیش فرض اعلامیه ها را به بالای کد در مرورگر منتقل می کند. به این عمل بالا بردن گفته می شود.

معنی این امر این است که ، اگر از اعلان های تابع استفاده می کنید ، می توانید تابع را هم قبل و هم بعد از اعلام آن فراخوانی کنید. در مثال زیر ، می بینید که این عملکرد چه قبل از فراخوانی ، چه بعد از آن ، فراخوانی می شود. به این دلیل است که اعلامیه های عملکرد بالا می روند:

// Function is invoked before it is declared:
var a = sampleFunction(5, 10);
document.getElementById("test").innerHTML = a; // this works

function sampleFunction(a, b) {
    return a * b;
}

// Function is invoked after it has been declared
var b = sampleFunction(5, 10);
document.getElementById("test2").innerHTML = b; // this works too

اگر از عبارات تابع استفاده کنید اینگونه نیست: ابتدا باید تابع را قبل از فراخوانی تعریف کنید.

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

// Function is invoked after it has been declared:
var a = function (b, c) {return b * c};
document.getElementById("test").innerHTML = a(4, 3); // this works

// Function is invoked before it is declared:
document.getElementById("test2").innerHTML = b(4, 3); // this does not work. Console logs "Uncaught TypeError: b is not a function".
var b = function (b, c) {return b * c};

عملکردهای خودخواسته

توابع همچنین می توانند از خود فراخوانی کنند. با استفاده از یک نحو خاص ، که شامل پرانتزهای اضافی است ، می توانید تابعی را ایجاد کنید که نیازی به فراخوانی در جای دیگر نیست بلکه به جای خود فراخوانی می شود:

(function () {
    document.getElementById("test").innerHTML = "Good day!";
})();

در مثال بالا ، یک عملکرد خودآزمایی ناشناس مشاهده می کنید. با این حال ، لازم نیست توابع خودآزمایی ناشناس باشند: می توانید آنها را نیز نام ببرید.

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

همانطور که قبلاً می دانید ، ما از کلمه کلیدی عملکرد برای تعریف یک تابع JavaScript استفاده می کنیم. با این حال ، می توانید این کار را با استفاده از یک سازنده تابع جاوا اسکریپت عملکرد انجام دهید:

var sampleFunction = new Function("b", "c", "return b * c");
document.getElementById("test").innerHTML = sampleFunction(5, 6);

با این حال ، این یک عمل معمول نیست. مثال فوق را می توان به راحتی به عنوان یک تابع منظم بدون سازنده بازنویسی کرد:

var sampleFunction = function (b, c) {return b * c}
document.getElementById("test").innerHTML = sampleFunction(5, 6);

اشیا، ارزشها، عبارات

اگر ازعملگر typeof روی یک تابع استفاده کنیم ، باز می گردد که یک تابع است. با این حال ، در JavaScript ، توابع اشیا function تابع هستند ، زیرا دارای ویژگی ها و روش هایی هستند.

در مثال زیر ، ما از ویژگی arguments.length استفاده می کنیم تا بفهمیم این تابع چند آرگومان دریافت می کند:

function sampleFunction(x, y) {
    return arguments.length;
}

در مثال بعدی ما از روش toString به عنوان یک تابع بازگشت جاوا اسکریپت برای ارائه یک رشته استفاده می کنیم که کد منبع یک تابع را نشان می دهد:

function sampleFunction(x, y) {
    return x * y;
}
document.getElementById("test").innerHTML = sampleFunction.toString();

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

function sampleFunction(a, b) {
    return a * b;
}
var c = sampleFunction(5, 6);

از توابع JavaScript نیز می توانید در عبارات استفاده کنید:

function sampleFunction(x, y) {
    return x * y;
}
var z = sampleFunction(5, 6) + 34;

خلاصه توابع جاوا اسکریپت:

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

این مقاله چقدر براتون مفید بود؟

اولین امتیاز را ثبت کنید😊