首页 > 解决方案 > 通过提示为当前值添加值

问题描述

我正在用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。

我做错了什么?

标签: javascriptdom-eventsjavascript-objects

解决方案


在函数体的顶部,有一条语句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();
}

推荐阅读