我正在用Javascript模拟咖啡机,并且必须制定向咖啡机加水的方法。有一些条件需要检查,我这样做了,但是我遇到的问题是将通过提示导入的新值添加到当前值。
这是我所拥有的:
addWater: function() {
this.water = 0;
let addWater = prompt('Unesite kolicinu vode koju zelite da dodate');
if (addWater === null || addWater.trim().length === 0) {
alert('Morate uneti koliko vode zelite');
return;
} else if (isNaN(addWater) || addWater.startsWith('-')) {
alert('Unos mora biti pozitivna brojcana vrednost');
return;
} else if (addWater > 400) {
alert('Maksimalan unos vode je 400');
return;
} else {
addWater = Number(addWater);
this.water += addWater;
}
this.waterStatus();
},
这样,它仅输入值当前值,而不加数字,因为条件之一是水不超过400。
我做错了什么?
在顶部的函数体中,有一条语句this.water = 0; 。因此,每次调用该函数时,该值将始终填充一个新值,而不是添加。您的代码应该像这样
addWater: function () {
let addWater = prompt('Unesite kolicinu vode koju zelite da dodate');
if (addWater === null || addWater.trim().length === 0) {
alert('Morate uneti koliko vode zelite');
return;
} else if (isNaN(addWater) || addWater.startsWith('-')) {
alert('Unos mora biti pozitivna brojcana vrednost');
return;
} else if (addWater > 400) {
alert('Maksimalan unos vode je 400');
return;
} else {
addWater = Number(addWater);
this.water += addWater;
}
this.waterStatus();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句