Javascript中的方法链Method Chaining介绍

在寻找如何设计一个Javascript API的时候,发现了Method Chaining这个东西,方法链,看上去似乎很强大,也挺有意思的,而这个东西也是过去我们经常看到的。。

Javascript Method Chaining

在维基百科上有这样的解释:

代码如下:

拿翻译工具翻译了一下:

代码如下:

Method Chaining 使用

目测对于方法链用得最多的,应该就是jQuery了。

代码如下:
我们可以用这样的用法来调用这个。jQuery严重依赖于链接。这使得它很容易调用的几个方法相同的选择。这也使得代码更清晰和防止执行相同的选择几次(提高性能)。没有方法链的时候则是下面的样子
代码如下:
看上去和设计模式中的builder很像,不同的是,这里的p是方法,而不是一个类。

Javascript 方法链示例

在之前我们说到的时候,说到的print('Hello')('World'),而这种用法的结果可能会变成这样子。

代码如下:
这是网上的一个例子,然而也是我上一次写链式调用的作法。看上去弱爆了。
代码如下:

func.add().result();

实际上应该在每个function都要有个return this,于是就有了:
代码如下:

var func = new Func(); func.add().result();

当然我们也可以将最后的两句
代码如下:
变成
代码如下:

其他

最后作为一个迷惑的地方的小比较:

Method Chaining VS prototype Chaining

原型链与方法链在某些方面上是差不多的,不同的地方或许在于

1.原型链是需要用原型 2.方法链则是用方法

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小