1. 状态模式
var offLightState = function(light){
this.light = light;
}
- offLightState.prototype.buttonWasPressed = function(){
console.log(‘弱光‘);
this.light.setState(this.weakLightState);
}
var weakLightState = function(light){
this.light = light;
}
weakLightState.prototype.buttonWasPressed = function(){
console.log(‘弱光‘);
this.light.setState(this.strongLightState);
}
var strongLightState = function(light){
this.light = light;
}
strongLightState.prototype.buttonWasPressed = function(){
console.log(‘弱光‘);
this.light.setState(this.offLightState);
}
var light = function(){
this.offLightState = new offLightState(this);
this.weakLightState = new weakLightState(this);
this.strongLightState = new strongLightState(this);
this.button = null;
}
light.prototype.init = function(){
this.currentState = this.offLightState;
this.button.onclick = function(){
this.currentState.buttonWasPressed();
}
}
light.prototype.setState = function(state){
this.currentState = state;
}
var light = new light();
light.init();