我试图每次增加一个值,但它不起作用。我的变量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);
}
我在这里做错了什么?
答案 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;