【问题标题】:JavaScript: Increment MethodJavaScript:增量方法
【发布时间】:2018-03-07 22:28:36
【问题描述】:

我正在尝试创建一个increment 方法。这个看似简单的任务却把我难住了。 我想要的一个例子:

var x=5; 
x.increment(); 
console.log(x); //6

我想做什么:

Number.prototype.increment=function(){
    this++; //gave me a parser error
};

【问题讨论】:

标签: javascript oop constructor this increment


【解决方案1】:

数字在 javascript 中是不可变的。当您执行console.log(this) 时,您会看到它指向Number,其原始值为5(在我们的例子中),因此您无法更改它的值。

您可以做的是从 incremnt 返回增量值(通过这样做 + 1)并将其分配给 x,如 x=x.increment();

Number.prototype.increment = function(){
    return this + 1;
}

var x = 5;

x=x.increment();
console.log(x);

【讨论】:

  • 如果 return 没有用于任何事情,为什么要在第 3 行使用它?
  • @BenRivers 我的错误(编辑了答案),我正在试验并忘记添加 x=
【解决方案2】:

this 不能直接更改。试试这个方法

Number.prototype.increment = function(){
    return this + 1;
}

var x = 5;

x = x.increment(); // x will be 6 here

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-29
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 2014-05-09
    • 2014-10-13
    相关资源
    最近更新 更多