最明显的例子是jQuery,其中函数的结果是修改后的对象,您可以将相同或不同的函数应用于该对象。下面的例子来自dan的博客,但是互联网上有很多例子。
var $inner = $("<div>inner</div>")
// append it to a new outer div
.appendTo("<div>outer</div>")
// next change the jQuery chain to the "outer" div
.parent()
// append the outer div to the body
.appendTo("body")
// finally, go back to the last destructive command,
// giving us back a pointer to the "inner" div
.end();
是否有关于此技术的文献?我只是看到这是以命令式方式使用(如果你调用$ inner.append($ moreInner)$ inner被修改)。使用这种编程的函数方法是否有意义(即保持对象的状态不变并返回修改对象的克隆)。
的问候, 的Jeroen
答案 0 :(得分:3)
该技术通常称为Method Chaining。在上面的示例中,表单是Fluent Interface
的一部分答案 1 :(得分:2)
它被称为 Fluent界面,请参阅http://en.wikipedia.org/wiki/Fluent_interface