我在实习时接到了一项任务,我必须使用 this 和 new 关键字创建数学运算,例如 plus()、minus() 等。 示例:- one().plus().two().equalTo() ,给定的代码行必须返回 3。
我尝试创建返回值的函数。
function one(){ return 1; }
。
但我无法弄清楚 plus() 和 equalto() 如何工作。
要实现您所描述的功能,您可以创建一个跟踪当前值的对象,然后定义执行相应操作的
plus()
、minus()
和 equalTo()
等方法。每个方法都应该更新当前值并返回对象本身,以便您可以将这些方法链接在一起。
function NumberBuilder(value) {
this.currentValue = value || 0;
this.plus = function (num) {
this.currentValue += num;
return this;
};
this.minus = function (num) {
this.currentValue -= num;
return this;
};
this.equalTo = function () {
return this.currentValue;
};
}
// Usage example
const result = new NumberBuilder()
.plus(1)
.plus(2)
.equalTo();
console.log(result); // Output: 3