פונקציה מקוננת
שיעור 7 מתוך 14 בקורס הצהרות פונקציה ב-JavaScript של Coddy.
פונקציות מקוננות הן כמו גיבורי־על עם עוזרים – אלו פונקציות עוצמתיות שיכולות ליצור פונקציות אחרות ולהשתמש בהן בתוכן שלהן.
פונקציה מקוננת היא פונקציה שמוגדרת בתוך פונקציה אחרת. לפונקציה הפנימית יש גישה למשתנים ולפרמטרים של הפונקציה החיצונית, וכך נוצר תחום מקומי בתוך הפונקציה החיצונית.
דמיינו שיש לכם פונקציה ראשית (גיבור־העל) שזקוקה לעזרה במשימה מסוימת. במקום להסתמך על פונקציה חיצונית, היא יכולה ליצור בתוכה פונקציית עזר (העוזר) שתטפל במשימה המסוימת הזאת. רק הפונקציה הראשית יכולה לגשת לפונקציית העזר ולהשתמש בה. לדוגמה:
function calculateDiscount(originalPrice, discountPercentage) {
function calculateDiscountAmount(price, discount) {
return price * discount; // חשב את סכום ההנחה (פונקציה פנימית)
}
const discountAmount = calculateDiscountAmount(originalPrice, discountPercentage / 100);
const finalPrice = originalPrice - discountAmount;
return finalPrice;
}
const discountedPrice = calculateDiscount(100, 20);
console.log(discountedPrice); // פלט: 80- הפונקציה החיצונית:
- נגדיר פונקציה בשם
calculateDiscountשמקבלת שני ארגומנטים:originalPriceו-discountPercentage.
- נגדיר פונקציה בשם
- הפונקציה הפנימית:
- בתוך הפונקציה החיצונית, נגדיר פונקציה נוספת בשם
calculateDiscountAmount. זוהי הפונקציה המקוננת. היא מקבלת שני ארגומנטים:priceו-discount(שימו לב שאין לה גישה ישירה אלoriginalPriceאו אלdiscountPercentage).
- בתוך הפונקציה החיצונית, נגדיר פונקציה נוספת בשם
- פלט: הפונקציה מחזירה את המחיר הסופי, שהוא 80 (לאחר החלת ההנחה של 20%).
אתגר
קלהמשימה שלך היא ליצור פונקציה מקוננת בשם calculateTaxAmount שאמורה לקבל את price ואת taxRate מהפונקציה החיצונית calculateWithTax, לחשב את סכום המס ולהחזיר אותו. (סכום המס הוא המחיר כפול שיעור המס)
לבסוף, הפונקציה החיצונית אמורה לחשב ולהחזיר את המחיר הסופי (כולל מס) על ידי הוספת סכום המס למחיר המקורי ולהחזיר את המחיר הסופי.
נסו בעצמכם
function calculateWithTax(product) {
let price = product.price;
let taxRate = product.taxRate;
// כתבו כאן קוד
}
כל השיעורים ביחידה הצהרות פונקציה ב-JavaScript
1מבוא לקורס
מה תלמדו?3דרכים להכרזת פונקציות
פונקציה בסיסיתפונקציה מקוננתהחזרת פונקציהביטויי פונקציהפונקציית חץבנאי פונקציהתרגלו בעצמכם: קומפיילר JavaScript אונליין