1

我正在尝试使方法链接与我的构造函数一起工作,但我不确定如何去做。到目前为止,这是我的代码:

function Points(one, two, three) {
this.one = one;
this.two = two;
this.three = three;
}

Points.prototype = {

add: function() {
    return this.result = this.one + this.two + this.three;
},
multiply: function() {
    return this.result * 30;
}

}

var some = new Points(1, 1, 1);
console.log(some.add().multiply());

我试图在 add 方法的返回值上调用 multiply 方法。我知道有一些明显的事情我没有做,但我只是不确定它是什么。

有什么想法吗?

4

1 回答 1

13

您不应该返回表达式的结果。而是返回这个。

Points.prototype = {

    add: function() {
        this.result = this.one + this.two + this.three;
        return this;
    },
    multiply: function() {
        this.result = this.result * 30;
        return this;
    }

}

然后像这样使用它:console.log(some.add().multiply().result);

于 2012-11-18T04:53:49.640 回答