++在增加之前减少

时间:2018-09-11 00:18:00

标签: javascript

我正在尝试做一个简单的计数器,单击名为“ +”的按钮应将变量(Score)的值增加1,而将按钮“-”应将其值的值减少1。我第一次按+,实际上Score下降了一个,然后第二次点击增加了,反之亦然,用“-”表示。我在做什么错了?

顺便说一句,我只是为了娱乐而编写代码,而且在Stack Overflow也很新,所以请原谅凌乱的代码。

<!DOCTYPE html>
<html>

<p id="Score1">
    
</p>
    
<p id="Score2">
    
</p>

    
    <button type: button onclick= PlusOneTeam1()>
        +
    </button>
    
    <button type: button onclick="MinusOneTeam1()">
        -
    </button>
    
    <button type: button onclick="PlusOneTeam1">
        +
    </button>
    
    <button type: button onclick="MinusOneTeam2">
        -
    </button>

<script>
    
    var Score = 0
    
    document.getElementById("Score1").innerHTML = Score

function PlusOneTeam1() {
    document.getElementById("Score1").innerHTML = Score ++  ; 
    return Score ;
}

    
function MinusOneTeam1() {
    document.getElementById("Score1").innerHTML = Score -- ;
}
</script>
    
    
</html>

1 个答案:

答案 0 :(得分:3)

您可能需要在此处使用+= 1++a

从文档中:

  

递增运算符将其操作数递增(加1)并返回一个值。

     

如果使用后缀,则在操作数之后使用运算符(例如x ++),则它将在递增之前返回该值。   如果在操作数之前使用带运算符的前缀(例如++ x),则它会在递增后返回值。

让我们看一些代码

let a = 1
let b = a++

console.log(a, b) // a is 2, b is 1

这是因为a++照原样返回a,然后在 之后对表达式求值,将其加到a

let a = 1
let b = ++a

console.log(a, b) // 2, 2

此处两个值均为2,因为++a首先递增a,然后返回更新后的值a,将其放入表达式中。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Increment_()