我试图每次将值增加一个,但它不起作用。我的变量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);
}


我在这里做错了什么?

最佳答案

如果要影响增量值,则必须使用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>

关于javascript - 更新值未在Javascript中递增,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38511344/

10-11 09:16