0

我有一个班级设置如下:

var oTest = new TEST();

function TEST() {

  this.String = function(sString) {

    this.Trim = function() {
    }
  }
}

我希望能够按如下方式调用 Trim 函数:

var sTrimmed = oTest.String("  something").Trim();

这是正确的方法吗?任何帮助将不胜感激,因为我以前从未在类函数中做过函数。

4

1 回答 1

1

将您的方法添加到prototype构造函数的 中,然后执行return this;in String,以返回相同的对象,从而使其可链接。

var oTest = new TEST();

function TEST() {}

TEST.prototype.String = function(aString) {
    this.the_string = aString;
    return this;
};
TEST.prototype.Trim = function() {
    this.the_string = this.the_string.trim();
    return this;
};
TEST.prototype.getString = function() {
    return this.the_string;
};

var sTrimmed = oTest.String("  something")
                    .Trim()
                    .getString();

现场演示:http: //jsfiddle.net/BcwgC/

于 2012-05-08T12:56:40.140 回答