٪۴۰ تخفیف تابستانه شروع شد! بزرگترین حراج سال ما

به ما بپیوندید

تعاریف عملکرد جاوا اسکریپت

توابع جاوا اسکریپت با کلمه کلیدی تعریف می شوند function. شما می توانید یک تابع استفاده کنید بیانیه یا یک تابع بیان . بیانیه های عملکرد در اوایل این آموزش ، یاد گرفتید که توابع با نحو زیر اعلان می شوند : function functionName(parameters) {   // code to be executed }   توابع اعلام شده…

محمد یوسفی

26 جولای 2021

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

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


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

در اوایل این آموزش ، یاد گرفتید که توابع با نحو زیر اعلان می شوند :

function functionName(parameters) {
  // code to be executed
}

 

توابع اعلام شده بلافاصله اجرا نمی شوند. آنها “برای استفاده بعدی ذخیره می شوند” ، و بعداً ، وقتی فراخوانی شوند (فراخوانده می شوند) ، اجرا خواهند شد.

مثال

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

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


اصطلاحات عملکرد

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

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

مثال

const x = function (a, b) {return a * b};

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

مثال

const x = function (a, b) {return a * b};
let z = x(4, 3);

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

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

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


سازنده عملکرد ()

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

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

مثال

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

let x = myFunction(4, 3);

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

مثال

const myFunction = function (a, b) {return a * b};

let x = myFunction(4, 3);

در بیشتر مواقع می توانید از استفاده newکلمه کلیدی در JavaScript خودداری کنید.


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

در اوایل این آموزش ، شما با “hoisting” ( جاوا اسکریپت Hoisting ) آشنا شدید.

Hoisting رفتار پیش فرض JavaScript در انتقال اعلان ها به بالای دامنه فعلی است.

Hoisting برای اعلامیه های متغیر و برای اعلامیه های عملکرد اعمال می شود.

به همین دلیل ، توابع JavaScript را می توان قبل از اعلام فراخوانی کرد:

myFunction(5);

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

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


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

عبارات عملکرد را می توان “خودآزمایی” کرد.

عبارتی که از خود فراخوانی می شود به طور خودکار فراخوانی می شود (بدون اینکه فراخوانی شود).

اگر عبارت با () دنبال شود ، عبارات عملکرد به طور خودکار اجرا می شوند.

شما نمی توانید یک اعلامیه عملکرد را فراخوانی کنید.

شما باید پرانتزها را در اطراف تابع اضافه کنید تا نشان دهد که این عبارت عملکرد است:

مثال

(function () {
  let x = "Hello!!";  // I will invoke myself
})();

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


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

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

مثال

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

let x = myFunction(4, 3);

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

مثال

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

let x = myFunction(4, 3) * 2;

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

typeofاپراتور در جاوا اسکریپت “تابع” برای توابع گرداند.

اما ، توابع JavaScript به بهترین وجه می تواند به عنوان اشیا as توصیف شود.

توابع جاوا اسکریپت هم ویژگی دارند و هم روش .

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

مثال

function myFunction(a, b) {
  return arguments.length;
}

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

مثال

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

let text = myFunction.toString();

تابعی که به عنوان خاصیت یک شی تعریف می شود ، یک روش برای شی the نامیده می شود.
تابعی که برای ایجاد اشیا new جدید طراحی شده است ، سازنده اشیا نامیده می شود.


توابع پیکان

توابع Arrow یک نحو کوتاه را برای نوشتن عبارات عملکرد فراهم می کند.

شما به functionکلمه کلیدی ، returnکلمه کلیدی و براکت های فرفری نیازی ندارید .

مثال

// ES5
var x = function(x, y) {
  return x * y;
}

// ES6
const x = (x, y) => x * y;

توابع پیکان خاص خود را ندارند this. آنها برای تعریف روش های شی object مناسب نیستند .

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

استفاده از const آن ایمن تر از استفاده است var، زیرا یک عبارت عملکرد همیشه مقدار ثابت دارد.

فقط returnدرصورتی که تابع یک جمله باشد می توانید کلمه کلیدی و پرانتزهای مجعد را حذف کنید . به همین دلیل ، ممکن است عادت خوبی باشد که همیشه آنها را حفظ کنید:

مثال

const x = (x, y) => { return x * y };

توابع پیکان در IE11 یا نسخه های قبلی پشتیبانی نمی شوند.

منبع

مطالب مرتبط

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها