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(){ } }