一、函数的另一种形式
现在我们要实现一个需求实现一个表单功能的任务,类容是验证用户名、邮箱、密码等。通常我们的第一反应是写下几个函数。
function checkName(){
//验证姓名
}
function checkEmail(){
//验证邮箱
}
function checkPassword(){
//验证密码
}
……
但是这样在实际开发却不行,为什么呢?
应为我们创建了很多全局变量,为什么明明只写了几个函数却有很多全局变量,因为函数也是变量,换一种方式我们就容易看出。
var checkName=function(){
//验证姓名
}
var checkEmail =function(){
//验证邮箱
}
var checkPassword =function(){
//验证密码
}
这样就容易看出我们申明了3个全局变量,如果我们在项目实际开发中不能只考虑自己,也要考虑不影响他人,如果别人也创建了同样的方法会覆盖掉原有的功能。那我们应该怎样做才能解决问题呢?
用对象收编变量
var CheckObject={
checkName:function(){
//验证姓名
}
checkEmail :function(){
//验证邮箱
}
checkPassword :function(){
//验证密码
}
}
我们将所有的函数作为CheckObject对象的方法这样我们只有一个对象,检测姓名CheckObject.checkName(),我们还可以使用对象的另一种形式。
var CheckObject=function(){};
CheckObject.checkName=function(){
//验证姓名
}
CheckObject.checkEmail=function(){
//验证邮箱
}
CheckObject.checkPassWord=function(){
//验证密码
}
使用是和前面一样CheckObject.checkName()。
用类也可以
Var CheckObject=function(){
this.checkName=function(){
//验证姓名
}
this.checkEmail=function(){
//验证邮箱
}
this.checkPassword=function(){
//验证密码
}
}
既然是一个类就要用关键字new来创建
var a=new CheckObject();
a.checkEmail();