js设计模式第一章 读书笔记
程序员文章站
2022-03-02 09:37:30
...
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
上一篇: div做的表格