2.0 KiB
title | localeTitle |
---|---|
Higher Order Functions | وظائف من الدرجة العليا |
وظائف من الدرجة العليا
دالة الترتيب العليا هي أي دالة تقوم بارجاع دالة عند تنفيذها ، تأخذ وظيفة كواحدة أو أكثر من الوسيطات الخاصة بها ، أو كلاهما. إذا كنت قد استخدمت أيًا من طرق Array
مثل map
أو filter
، أو قمت بتمرير وظيفة رد اتصال إلى jQuery's $.get
، فهذا $.get
أنك قد عملت بالفعل مع وظائف الترتيب العالي.
عندما تستخدم Array.map
، فإنك تقدم دالة كوسيطة واحدة فقط ، والتي ينطبق عليها كل عنصر موجود في الصفيف.
`var arr = [ 1, 2, 3 ];
var arrDoubled = arr.map(function(num) { return num * 2; });
console.log(arrDoubled); // [ 2, 4, 6 ] `
يمكن لوظائف الترتيب الأعلى أيضًا إرجاع وظيفة. على سبيل المثال ، يمكنك إنشاء دالة تسمى multiplyBy
تأخذ رقمًا وتقوم بإرجاع وظيفة تضاعف رقمًا آخر تقدمه من خلال الرقم الأول المقدم. يمكنك استخدام هذا الأسلوب لإنشاء وظيفة multiplyByTwo
لتمريرها إلى Array.map
. سيعطيك هذا النتيجة نفسها التي رأيتها أعلاه.
`function multiplyBy(num1) { return function(num2) { return num1 * num2; } }
var multiplyByTwo = multiplyBy(2);
var arr = [ 1, 2, 3 ];
var arrDoubled = arr.map(multiplyByTwo);
console.log(arrDoubled); // [ 2, 4, 6 ] `
راجع دليل الإغلاق للحصول على مزيد من المعلومات حول كيفية multiplyByTwo
num1
للإشارة إلى num1
في المثال أعلاه.