为啥我这样写结果最终永远是 最后一次按的数字相加
来源:3-1 四则运算的实现
反冲斗士
2021-03-06 14:28:42
var sign ;
function check(v){/* 调用函数时,传入this.value*/
var fth_num = parseInt(num.value);
switch (v) {
case 'C':
num.value = 0;
break;
case '+':
sign = '+';
num.value = 0;
break;
case '-':
sign = '-';
num.value = 0;
break;
case '*':
sign = '*';
num.value = 0;
break;
case '/':
sign = '/';
num.value = 0;
break;
case '=':
switch (sign) {
case '+':
console.log(num.value,fth_num);
num.value = parseInt(num.value)+ fth_num;
break;
case '-':
num.value -= fth_num;
break;
case '*':
num.value *= fth_num;
break;
case '/':
num.value /= fth_num;
break;
}
}
}
我通过控制台打印的信息发现,每一次加法运算的两个数字,不管按哪个,都会变成两个 最后一次按的数字 进行相加
1回答
好帮手慕燕燕
2021-03-06
同学,你好!点击+号之前的数值需要保存,同学定义了fth_num变量,但没有将之前的数值保存到fth_num中,变量fth_num的值还是文本框中的数值,相加的时候就是两次文本框中的数值相加,也就是同学最后一次按的数字,参考以下代码:

祝:学习愉快!
相似问题