JavaScript:扩充类型 - "返回此"的目的

mic*_*ech 6 javascript

我正在阅读JavaScript - The Good Parts目前.所以我正在处理类型的扩充.我理解动机和实施.但是,如果我看一下代码......

Function.prototype.method = function(ident, funct) {
    this.prototype[ident] = funct;
    return this; // No idea. For what?
};
Run Code Online (Sandbox Code Playgroud)

...然后我不明白返回的目的.我把评论归来了.这没有效果.无论如何它都起作用了.

我的完整代码:

Function.prototype.method = function(ident, funct) {
    this.prototype[ident] = funct;
    return this;
};

Date.method('sayHello', function() {
    alert(new Date().toString());
});

var myDate = new Date();

myDate.sayHello();
Run Code Online (Sandbox Code Playgroud)

它是什么意思?

dec*_*eze 14

通常这样做是为了你可以链接方法调用,所谓的"流畅的接口":

obj.method().anotherMethod().yetAnotherMethod()
Run Code Online (Sandbox Code Playgroud)

例如:

'string'.toUpperCase().substr(2).repeat(3)
Run Code Online (Sandbox Code Playgroud)

如果是字符串,则返回另一个新字符串this,但是你知道它为什么有用.