使用闭包实现如下功能:
创建门票检测函数checkTicket(height, age)
,判断是否可以买儿童票,函数会返回布尔值
不同的游乐场有不同的检测标准
游乐场 A 要求, 身高不足 1 米, 6 岁以下, 可以买儿童票
游乐场 B 要求, 身高不足 1.2 米, 5 岁以下, 可以买儿童票
游乐场 C 要求, 身高不足 0.9 米, 7 岁以下, 可以买儿童票
代码如下
// 定义外部函数
function makeTicket(heightLine,ageLine){
// 返回内部函数
return function(height,age){
// 内部函数用到了外部函数的参数
if(height <= heightLine && age <= ageLine){
return '可以购买儿童票'
}
return '只能购买成人票'
}
}
// 在外部函数外面调用内部函数
var checkTicketA = makeTicket(100,6)
var checkTicketB= makeTicket(120,5)
var checkTicketC = makeTicket(90,7)
// 最终要执行的是内部函数
console.log(checkTicketA(100,6));