代码
举例:发工资时,a、b、c三个人的公资计算方式各不一样,
我们可以用写函数方法,用if进行判断来解决,不过略显幼稚
function fn(type, a) {
if (type == 'a') {
return a * a
}
if (type == 'b') {
return a + a
}
if (type == 'c') {
return a + "" + a
}
}
console.log(fn('a', 400),
fn('b', 400),
fn('c', 400));
// 策略模式
let obj = {
'a': function (a) {
return a * a
},
'b': function (a) {
return a + a
},
'c': function (a) {
return a + '' + a
},
}
console.log(obj.a(400), obj.b(400), obj.c(400));