我正在尝试使用+ =函数将值添加到变量。这是我正在使用的代码:
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!');
}
我不知道出了什么问题。
答案 0 :(得分: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
存在于函数范围之外。只要您的程序有效,它就可以存在。