闭包函数应用

闭包函数应用
// 开发一个出租车计价器;
// 注意:计价器~计算的数据,不能存储在全局变量中,避免全局污染问题
// 不能使用面向对象开发,不能存储在对象中
// 要求:通过函数式开发,开发一个计价程序
// 实现多段计价,堵车-5块、正常行驶 3块/公里
// 有一个出租车–一段计价里程:行驶2公里、堵车1次、行驶3公里、堵车1次、行驶2公里到达目的地
function txt() {
// 计价总额
let money = 0

// 闭包函数:声明一个计价器
function calculation(sts, dsc=0) {
if(sts === ‘正常行驶’) {
money += dsc * 3;
}else if(sts === ‘堵车’) {
money += 5
}
return money
}
// 返回闭包函数的声明
return calculation
}

// 通过执行函数,获取一个计价器
let cal = txt()

cal(‘正常行驶’, 2) // 6
cal(‘堵车’) // 5
cal(‘正常行驶’, 3) // 9
cal(‘堵车’) // 5
const money = cal(‘正常行驶’, 2) // 6
console.log(“计算总价:”, money) // 31

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值