zoukankan      html  css  js  c++  java
  • 8.js模式-状态模式

    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();

  • 相关阅读:
    一周心得5:
    一周心得4:
    历史上两个人合作成功的案例:
    对结对编程的理解:
    一周心得3:
    一周心得2:
    有关IT行业模仿案例及自己的评价与解析:
    一周心得:
    不懂的问题:
    自我介绍以及期望与目标:
  • 原文地址:https://www.cnblogs.com/SLchuck/p/4869722.html
Copyright © 2011-2022 走看看