为啥我这样写结果最终永远是 最后一次按的数字相加

来源: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的值还是文本框中的数值,相加的时候就是两次文本框中的数值相加,也就是同学最后一次按的数字,参考以下代码:

http://img.mukewang.com/climg/60434951096dfea105250291.jpg

祝:学习愉快!

0

0 学习 · 3562 问题

查看课程