Javascript 如何将数字添加到对象中的属性?
我有一个这样的物体:Javascript 如何将数字添加到对象中的属性?,javascript,function,object,add,Javascript,Function,Object,Add,我有一个这样的物体: var statistics = { won: 0, tie: 0, lost: 0 }; 我有一个函数,可将1添加到won: var plus1 = function() { return statistics.won++; } 我在if/else语句中调用该函数,如下所示: plus1(); 但它不起作用。有人有想法吗?可能是x++返回x而不是x+1。 你在找什么 var plus1 = function() { retur
var statistics = {
won: 0,
tie: 0,
lost: 0
};
我有一个函数,可将1添加到won
:
var plus1 = function() {
return statistics.won++;
}
我在if/else语句中调用该函数,如下所示:
plus1();
但它不起作用。有人有想法吗?可能是x++返回x而不是x+1。 你在找什么
var plus1 = function() {
return ++statistics.won;
}
可能是x++返回x而不是x+1。 你在找什么
var plus1 = function() {
return ++statistics.won;
}
看看你的代码,我真的不明白为什么你会返回结果 我会将函数重写为
function plus1() {
statistics.won++;
}
当涉及到更新它时,我看不到您的代码中有任何实际更新html的地方。在运行plus1()之后。如果我在控制台中运行console.log(statistics),我可以看到每当我赢了,statistic.won就会上升
正如上面的评论中已经提到的,如果在运行plus1()之后运行wins(),那么一切都会正常。查看您的代码,我真的看不出返回结果的任何原因 我会将函数重写为
function plus1() {
statistics.won++;
}
当涉及到更新它时,我看不到您的代码中有任何实际更新html的地方。在运行plus1()之后。如果我在控制台中运行console.log(statistics),我可以看到每当我赢了,statistic.won就会上升
正如上面的评论中所提到的,如果在运行plus1()之后运行wins(),则所有操作都会正常进行。这是由于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
值,然后将其递增
因此,正如我在评论中提到的,
return++statistics.won
是您需要的解决方案。这是由于在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
值,然后将其递增
因此,正如我在评论中提到的,
return++statistics.won
是您需要的解决方案。在您试图访问它的点上是否可以看到统计信息?你的浏览器控制台没有显示任何错误吗?“它不工作”-为什么?有错误吗?浏览器控制台中没有错误。那么,发生了什么?什么不起作用?return++statistics.won代码>?在您试图访问统计信息时,统计信息是否可见?你的浏览器控制台没有显示任何错误吗?“它不工作”-为什么?有错误吗?浏览器控制台中没有错误。那么,发生了什么?什么不起作用?return++statistics.won代码>?嗯@Andy,你应该回答而不是评论。公平地说:我以前没有看到你的评论。不幸的是,这仍然不起作用。问题出在别的地方。我的网站是:ivoklerk.com/rpslspromaybe尝试在plus1()之后调用wins()。@J.Beyer:是的,这就是问题所在。嗯@Andy,你应该给出答案,而不是评论。公平地说:我以前没有看到你的评论。不幸的是,这仍然不起作用。问题出在别的地方。我的网站是:ivoklerk.com/rpslspromaybe尝试在plus1()之后调用wins()。@J.Beyer:是的,这就是问题所在。wins();在plus1()下;在我的代码中。。如何更新html?只要运行plus1();您需要再次运行wins()。所以改变plus1()代码>进入plus1();胜利()代码>或只添加wins()
到plus1
函数。如果您觉得问题已经回答,您可能希望将其标记为已回答。wins();在plus1()下;在我的代码中。。如何更新html?只要运行plus1();您需要再次运行wins()。所以改变plus1()代码>进入plus1();胜利()代码>或只添加wins()
到plus1
函数。如果您觉得问题已经回答,您可能希望将其标记为已回答。