如何将数字添加到对象中的属性?

时间:2014-06-17 13:57:26

标签: javascript function object add

我有一个这样的对象:

var statistics = {
    won: 0,
    tie: 0,
    lost: 0
};

我有一个向won添加1的函数:

var plus1 = function() {
    return statistics.won++;
}

我在if / else语句中调用该函数,如下所示:

plus1();

但它不起作用。有没有人有想法?

3 个答案:

答案 0 :(得分:4)

可能x ++返回x而不是x + 1。 您正在寻找

var plus1 = function() {
    return ++statistics.won;
}

答案 1 :(得分:1)

查看您的代码,我真的没有理由告诉您返回结果的原因。

我会将函数重写为

function plus1() {
  statistics.won++;
}

在更新时,我无法在您的代码中看到实际更新html的内容。在你运行plus1()之后。如果我在我的控制台中运行console.log(统计数据),我可以看到,只要我赢了,statistic.won就会上升。

正如上面评论中已经提到的,如果你在运行plus1()之后运行wins(),它将全部有用。

答案 2 :(得分:0)

这是由于JavaScript中的前/后递增方式:

var one = 1;
var two = 1;

// increment `one` FIRST and THEN assign it to `three`.
var three = ++one; 

// assign `two` to `four`, THEN increment it
var four = two++;

因此,在您的代码中,您首先将statistics.won的值分配给return值然后递增它。 You can see the difference in how they work here

因此,正如我在评论中提到的,return ++statistics.won;是您需要的解决方案。