《JavaScript设计模式》——1.10 可以链式添加吗

简介: 本节书摘来自异步社区《JavaScript设计模式》一书中的第1章,第1.10节,作者:张容铭著,更多章节内容可以访问云栖社区“异步社区”公众号查看

本节书摘来自异步社区《JavaScript设计模式》一书中的第1章,第1.10节,作者:张容铭著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.10 可以链式添加吗

“呀,这种方式很奇特呀。不过我想链式添加方法,是不是在addMethod中将this返回就可以呀,这么做可以么?”

Function.prototype.addMethod = function(name, fn){
  this[name] = fn;
  return this;
}

“当然,所以你再想添加方法就可以这样了:”

var methods = function(){};
methods.addMethod('checkName', function(){
  // 验证姓名
}).addMethod('checkEmail', function(){
  // 验证邮箱
});

“那么,小白,我问你,我如果想链式使用你知道该如何做么?”

小白想了想说:“既然添加方法的时候可以将this返回实现,那么添加的每个方法将this返回是不是可以实现呢?”

于是小白这么写下:

var methods = function(){};
methods.addMethod('checkName', function(){
  // 验证姓名
  return this;
}).addMethod('checkEmail', function(){
  // 验证邮箱
  return this;
});

然后测试一下:

methods.checkName().checkEmail();
“真的可以呀!”小白兴奋地说。

相关文章
|
4月前
|
设计模式 JavaScript 数据安全/隐私保护
js设计模式之工厂模式
js设计模式之工厂模式
33 0
|
3月前
|
设计模式 前端开发 算法
【面试题】 ES6 类聊 JavaScript 设计模式之行为型模式(二)
【面试题】 ES6 类聊 JavaScript 设计模式之行为型模式(二)
|
1月前
|
设计模式 缓存 JavaScript
js常用设计模式
js常用设计模式
20 1
|
4月前
|
设计模式 存储 JavaScript
js设计模式之单例模式
js设计模式之单例模式
47 7
|
9月前
|
设计模式 前端开发 JavaScript
|
9月前
|
设计模式 前端开发 JavaScript
|
6月前
|
设计模式 JSON 前端开发
前端面试必看(手写Promise+js设计模式+继承+函数柯里化等)JavaScript面试全通关(1/3)
前端面试必看(手写Promise+js设计模式+继承+函数柯里化等)JavaScript面试全通关(1/3)
40 0
|
7月前
|
设计模式
js-设计模式
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。
|
9月前
|
存储 设计模式 前端开发
|
9月前
|
设计模式 JavaScript 前端开发