JavaScript:扩充类型 – “返回此”的目的

前端之家收集整理的这篇文章主要介绍了JavaScript:扩充类型 – “返回此”的目的前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > What does return this in Function.prototype.method do? 2个
我正在阅读JavaScript – The Good Parts目前.所以我正在处理类型的扩充.
我理解动机和实施.但是,如果我看一下代码……
  1. Function.prototype.method = function(ident,funct) {
  2. this.prototype[ident] = funct;
  3. return this; // No idea. For what?
  4. };

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

我的完整代码

  1. Function.prototype.method = function(ident,funct) {
  2. this.prototype[ident] = funct;
  3. return this;
  4. };
  5.  
  6. Date.method('sayHello',function() {
  7. alert(new Date().toString());
  8. });
  9.  
  10. var myDate = new Date();
  11.  
  12. myDate.sayHello();

它是什么意思?

解决方法

@H_502_18@ 通常这样做是为了你可以链接方法调用,所谓的“流畅的接口”:
  1. obj.method().anotherMethod().yetAnotherMethod()

例如.:

  1. 'string'.toUpperCase().substr(2).repeat(3)

如果是字符串,则会返回另一个新字符串(如果是这样),但您可以了解它为什么有用.

猜你在找的JavaScript相关文章