本节书摘来自异步社区《JavaScript设计模式》一书中的第1章,第1.8节,作者:张容铭著,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.8 方法还可以这样用
“没错,但是你发现没,你调用了3个方法,但是你对对象a书写了3遍。这是可以避免的,那就要在你声明的每一个方法末尾处将当前对象返回,在JavaScript中this指向的就是当前对象,所以你可以将它返回。例如我们开始写的第一个对象还记得么?改动它很简单,像下面这样就可以。”
var CheckObject = {
checkName : function(){
// 验证姓名
return this;
},
checkEmail : function(){
// 验证邮箱
return this;
},
checkPassword : function(){
// 验证密码
return this;
}
}
“此时我们要想使用他就可以这样:”
CheckObject.checkName().checkEmail().checkPassword();
“当然同样的方式还可以放到类的原型对象中。”
var CheckObject = function(){};
CheckObject.prototype = {
checkName : function(){
// 验证姓名
return this;
},
checkEmail : function(){
// 验证邮箱
return this;
},
checkPassword : function(){
// 验证密码
return this;
}
}
“但使用时候也要先创建一下:”
var a = new CheckObject();
a.checkName().checkEmail().checkPassword();