javascript - 删除答案并重新开始 JS 计算器

标签 javascript function math calculator

我做了一个Javascript计算器,我试图弄清楚如何在按下等号按钮后删除结果的值,这样下一个计算就不会干扰前一个计算。例如,在计算器中输入2+2,然后按等于。然后,尝试做8+8。看看你是怎么得到48的?我希望在函数启动之前清除该值。

这是 jsFiddle 上的计算器::http://jsfiddle.net/MatthewKosloski/J5bwP/

var result = document.calc.result;

function runNum(x) {
result.value += x;
}
function runPlus() {
result.value += "+";
}
function runSubtract() {
result.value += "-";
}
function runMultiply() {
result.value += "*";
}
function runDivide() {
result.value += "/";
}
function runClear() {
result.value = "";
}
function runDec() {
result.value += ".";
}
function runNegate() {
result.value = result.value - (result.value * 2);
}
function theAnswer() {
var evalo = eval(result.value);
result.value = evalo;
}

最佳答案

jsFiddle Demo

我肯定会建议改变一些事情。例如使用 eval 进行数学计算,或使用内联 javascript。除了这些之外,为了在输入新计算时允许清除计算器,我建议使用如下内容:

var reset = false;
function clear(){
 if(reset){
  result.value = "";
  reset = false;
 }

然后将此逻辑应用到您的方法中,例如

function runNum(x) {
 clear();
 result.value += x;
}

并在等于按钮中设置重置标志

function theAnswer() {
 var evalo = eval(result.value);
 result.value = evalo;
 reset = true;
}

关于javascript - 删除答案并重新开始 JS 计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17624627/

相关文章:

javascript - 使用 javascript 更改多个不同的类

javascript - 如何以编程方式添加 ng-models 供以后使用

javascript - Angular 2 - 对象属性返回为未定义,但它们存在

c# - 使用 rand.Next() 重复结果的概率

python - 这是 gmpy2 中的错误还是我生气了?

javascript - react : Is there a way to avoid type errors if a part of a prop isn't available?

postgresql - 使用变量作为语句的一部分

Swift 结构项值不随函数改变

javascript - 绑定(bind)函数不返回对象的引用

c++ - 如何将几个数字合并为一个,例如 1,7,3 = 173?