看到JavaScript设计模式与开发实践里面提到了GOF的问题
在js的设计模式里面提到了关于一个计算工资performace的例子
var calculateBonus=function(performaceLevel, salary){ if(performaceLevel=='S'){ return 5*salary; } if(performaceLevel=='A'){ return 4*salary; } if(performaceLevel=='B'){ return 3*salary; } }; console.log(calculateBonus('A',2000)); //上述代码的友好性不是很好 /* 我的理解是传一个数组,然后来做 */ var calculateBonus1=function(performaceLevel,performaceLevelArray, salary){ //console.log(performaceLevelArray[performaceLevel]); return (parseInt(performaceLevelArray[performaceLevel])*salary); }; performaceLevelArray={'S':5,'A':4,'B':3}; console.log(calculateBonus1('A',performaceLevelArray,2000));