看到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));