js中状态模式

1.当一个对象的内部状态发生改变时,会导致其行为的而改变,这看起来像是改变对象

对复杂的if else进行抽取

function showResult(result){
    if(result ==0){
        console.log(1);
    }else if(result ==1){
         console.log(2);
    }else if(result ==2){
         console.log(3);
    }

}
var Resutlstate= function(){
    var states = {
        state0: function(){
            console.log(1)
        },
        state1: function(){
            console.log(2)
        },
        state2: function(){
            console.log(3)
        },
        state3: function(){
            console.log(4)
        },
        state4: function(){
            console.log(5)
        }
    }
    function show(result){
        states['state'+ result] &&   states['state'+ result]();
    }
    return {
        show:show
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 模型图 用例图 用例建模最主要的功能是表达系统的功能性需求或行为 参互者: 参与者指的是与系统交互的角色,可以是人...
    强某某阅读 417评论 0 3
  • 官方中文版原文链接 感谢社区中各位的大力支持,译者再次奉上一点点福利:阿里云产品券,享受所有官网优惠,并抽取幸运大...
    HetfieldJoe阅读 4,016评论 12 65
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,373评论 11 349
  • 设计模式汇总及其分类 定义:设计模式(Design pattern):是一套被反复使用、多数人知晓的、经过分类编目...
    筱航_279b阅读 288评论 0 1
  • 官方中文版原文链接 感谢社区中各位的大力支持,译者再次奉上一点点福利:阿里云产品券,享受所有官网优惠,并抽取幸运大...
    HetfieldJoe阅读 5,482评论 6 33