更新值不在Javascript中递增

时间:2016-07-21 18:04:30

标签: javascript increment post-increment pre-increment

我试图每次增加一个值,但它不起作用。我的变量currentValue按预期提供0,但当我尝试使用var newValue = currentValue ++;递增时,它仍然会给我0

function updateClicks(e, maxValue) {
    var buttonClicked = e.target;
    addClass("clicked", buttonClicked);
    var counterBox = buttonClicked.nextElementSibling;

    var currentValue = buttonClicked.value;
    console.log(currentValue);

    var newValue = currentValue++;
    console.log(newValue);
}

我在这里做错了什么?

3 个答案:

答案 0 :(得分:2)

如果您想影响递增的值,您必须使用pre increment运算符,如:

var newValue = ++currentValue;

由于currentValue++(后增量)会增加currentValue,但会将其分配给newValue变量。

  • pre-increment :( ++currentValue)会在currentValue的值中加1,然后返回currentValue
  • post-increment :( currentValue++)将返回currentValue,然后添加一个。

希望这有帮助。

var currentValue = 0;
console.log('Increment using pre increment : '+(++currentValue));
console.log('pre increment return : '+currentValue);

console.log('-----------------------------------');

var currentValue = 0;
console.log('Increment using post increment : '+(currentValue++));
console.log('post increment return : '+currentValue);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

答案 1 :(得分:2)

第一次给你0。 为什么?
++ (post increment)运算符 - 返回值然后增加它的值。 实施例

var a = 4;
var b = a++; // Here it assigns 4 to b, then increments it's value
console.log(a); // 5
console.log(b); // 4

您必须使用pre increment表单

  var a = 4;
  var b = ++a; // Here it increments it's value then assigns it to b
  console.log(a); // 5
  console.log(b); // 5

答案 2 :(得分:0)

尝试:

var newValue = ++currentValue;