Javascript设计模式 学习笔记一

1、用对象收编变量

var CheckObject = {
    CheckName:function(){
    },
    CheckEmail:function(){
    },
    CheckPassword:function(){
    }          
}

//另一种写法:
var CheckObject = function(){};
CheckObject.checkName = function(){
}
CheckObject.checkEmail = function(){
}
CheckObject.checkPassword:function(){
}

  使用时可以直接调用:CheckObject.CheckName()。

  这样做的好处是在团队中开发时候,减少覆盖或者被覆盖的风险。

  坏处是,当别人想用你的对象方法时,new出来的对象不能继承这些方法。

  进行改造:

2、真假对象

var CheckObject = {
    return {
        CheckName:function(){
        },
        CheckEmail:function(){
        },
        CheckPassword:function(){
        }
    }      
}

但这不是类的真正创建方式,继续改造:

var CheckObject = function(){
    this.CheckName = function(){
    }
    this.CheckEmail = function(){
    }
    this.CheckPassword = function(){
    }          
}

就可以new 创建对象然后使用了。

var a = new CheckObject();

a.CheckEmail();

但这样封装也会出现一个问题,每new一个对象,都会将这个对象的所有属性复制一份出来,造成浪费。

再进行改造一下,用prototype对对象原型进行赋值

var CheckObject = function(){};
CheckObject.prototype.CheckName = function(){
}
CheckObject.prototype.CheckEmail = function(){
}
CheckObject.prototype.CheckPassword = function(){
}

或者可以这样写:

var CheckObject = function(){};
CheckObject.prototype = {
    CheckName : function(){
    },
    CheckEmail = function(){
    },
    CheckPassword = function(){
    }
}

猜你喜欢

转载自www.cnblogs.com/eoore/p/9111666.html