有没有办法使用“+ =”将1添加到变量? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我试图使用+ =函数为变量添加值。这是我正在使用的代码:

function getAnswer() {
    var num1 = Number(document.getElementById('numone').value);
    var num2 = Number(document.getElementById('numtwo').value);
    var oper = document.getElementById('oper').value;
    var numberOfEquation = 0;
    numberOfEquation += 1;
    if (oper == '+') {
        var p = document.createElement('p');
        var txt = document.createTextNode(num1+num2 + ' - Equation ' + numberOfEquation);
        p.appendChild(txt);
        document.body.appendChild(p);
    } else if (oper == '-') {
        var p2 = document.createElement('p');
        var txt2 = document.createTextNode(num1-num2 + ' - Equation ' + numberOfEquation);
        p2.appendChild(txt2);
        document.body.appendChild(p2);
    }
    console.log('You did an equation!');
}

我不知道出了什么问题。

javascript var
1个回答
2
投票

这似乎是对局部变量如何运作的误解。

局部变量:

 function x() {
   var y = 0;
   ++y;
   return y;
 }

 x(); // => 1
 x(); // => 1
 x(); // => 1

每次返回1,因为var y明确声明了一个局部变量。它只会在执行该函数时存在。一旦函数终止,该变量就不再存在。当功能再次启动时,它会成为一个全新的功能。

这是一个持久变量的不同方法:

 var y = 0;

 function x() {
   ++y;
   return y;
 }

 x(); // => 1
 x(); // => 2
 x(); // => 3

这是因为y存在于函数范围之外。只要你的程序有效,它就会存在。

© www.soinside.com 2019 - 2024. All rights reserved.