//策略模式基本结构 //优化if-else分支过多 function tactics(type,a,b) { let t = { add: function (a,b){ return a+b }, minus: function (a,b){ return a-b }, mul: function (a,b) { return a*b }, division: function (a,b){ return a/b } } return t[type](a,b) } console.log(tactics('minus',10,50)) //状态模式基本结构 function status (e) { let s = { _status: '', operation: { add: function (){ return '1' }, minus: function (){ return '2' }, mul: function() { return '3' }, division: function (){ return '4' } }, run: function(){ return this.operation[this._status]() } } s._status = e return s } console.log(status('mul').run())