【发布时间】:2015-01-02 01:00:14
【问题描述】:
在网上阅读后,我编写了这个简单的代码,通过链接进行加法和乘法运算。但是阅读代码,在我看来,“结果”方法使代码的可读性降低,而且有点多余。有人可以帮我摆脱 Result 功能吗?
var Calculator = function () {
var result = 0;
this.Add = function (x) {
result = result + x;
return this;
};
this.Multiply = function (x) {
result = result * x;
return this;
};
this.Result = function () {
return result;
}
};
var total = new Calculator().Add(2).Add(3).Multiply(5);
alert(total.Result());
我想要实现的是
var total = new Calculator().Add(2).Add(3).Multiply(5);
alert(total);
【问题讨论】:
-
嗯,
total并不是真正的总数,是吗?这是一个Calculator对象。 -
您的问题与这个问题非常相似:How to achieve arbitrary chain on function call in javascript? 寻找 mintsauce 和 Friedi 的答案。
-
你为什么不把
.Result()放在最后呢? (无关说明:有一个非正式的 JS 标准,非构造方法名称以小写字母开头。)
标签: javascript method-chaining