嵌套函数
Coddy JavaScript 函数声明 课程的第 7 课,共 14 课。
嵌套函数就像有搭档的超级英雄,它们是强大的函数,可以在内部创建和使用其他函数。
嵌套函数是在另一个函数内部定义的函数。内部函数可以访问外部函数的变量和参数,从而在外部函数内部创建一个局部作用域。
想象一下,你有一个主函数(超级英雄),需要有人帮忙完成一项特定任务。它不必依赖外部函数,而可以在自身内部创建一个辅助函数(搭档)来处理这项特定任务。只有主函数可以访问和使用这个辅助函数。例如:
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)。
- 在外部函数内部,我们定义了另一个名为
- 输出:函数会返回最终价格,也就是应用 20% 折扣后的 80。
挑战
简单你的任务是创建一个名为 calculateTaxAmount 的嵌套函数,它应从外层函数 calculateWithTax 中获取 price 和 taxRate,计算税额并返回它。(税额等于价格乘以税率)
最后,外层函数应将税额加到原价上,计算并返回最终价格(含税)。
亲手试试
function calculateWithTax(product) {
let price = product.price;
let taxRate = product.taxRate;
// 在这里编写代码
}
JavaScript 函数声明中的所有课
自己练习: JavaScript 在线编译器