javascript new 和 this 关键字

问题描述 投票:0回答:1

我在实习时接到了一项任务,我必须使用 this 和 new 关键字创建数学运算,例如 plus()、minus() 等。 示例:- one().plus().two().equalTo() ,给定的代码行必须返回 3。

我尝试创建返回值的函数。

function one(){ return 1; }
。 但我无法弄清楚 plus() 和 equalto() 如何工作。

javascript this new-operator
1个回答
0
投票

要实现您所描述的功能,您可以创建一个跟踪当前值的对象,然后定义执行相应操作的

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
© www.soinside.com 2019 - 2024. All rights reserved.