js设计模式第一章 读书笔记

1、简单的验证js

function checkName(){
    //验证姓名
}
function checkEmail(){
    //验证邮箱
}
function checkPassword(){
    //验证密码
}

上面的代码,创建了3个全局变量,有可能被别人覆盖,或者把别人的代码覆盖。怎么减少被覆盖的问题呢?如下:

2、用对象收编变量

var CheckObject = function(){}
CheckObject.checkName = function(){
    //验证姓名
}
checkObject.CheckEmail = function(){
    //验证邮箱
}
checkObject.checkPassword = function(){
    //验证密码
}

这样还是有问题,用new创建新的对象时,新创建的对象不能继承这些方法。怎么办?如下:

3、类

var CheckObject = function(){
    this.checkName = function(){
        //验证姓名
    }
    this.checkEmail = function(){
        //验证邮箱
    }
    this.checkPassword = function(){
        //验证密码
    }
}
var a = new CheckObject();
a.checkEmail();

每次new时候会对类的this属性进行复制,但是造成的消耗也很大。怎么解决?如下:

4、原型

var CheckObject = function(){}
CheckObject.prototype.checkName = function(){
    //验证姓名
}
CheckObject.prototype.checkEmail = function(){
    //验证邮箱
}
CheckObject.prototype.checkPassword = function(){
    //验证密码
}
var a = new CheckObject();
a.checkEmail();

这样创建出来的对象所拥有的方法就是一个了,因为它们都要依赖 prototype原型依次寻找,而找到的方法都是同一个,它们都绑定在CheckObject对象类的原型上。

请大神多多指教  qq:274501366

猜你喜欢

转载自blog.csdn.net/u010674395/article/details/83421847