Отмена вычислений функции при встроеном if

Рейтинг: 0Ответов: 1Опубликовано: 24.03.2023

Как собственно выглядит код:

addLifes.addEventListener('click', ()=>{

        if (stats <= 0 || stats === 0) {
            this.;
            addLifes.style.background = 'red';
            alert('Must more level!');
        }

        lifes += 1;
        stats -= 1;
        statsCountLabel.innerHTML = stats;
        lifesLabelCount.innerHTML = lifes;
    });

Проблема акая. При 0 счете статов, нужно отменить вычисление. Как реализовать отмену материнской функции при дочернем if?

Ответы

▲ 0

Остановить работу функции можно за счет оператора return. Именно этот оператор является целью вычислений функции. В случае, если нет return функция выполняется до конца. Либо в Вашем примере можно использовать else, что тоже предотвратит выполнение вычислений.

Вариант с return:

 addLifes.addEventListener('click', ()=>{

    if (stats <= 0 || stats === 0) {
        //this.;
        addLifes.style.background = 'red';
        alert('Must more level!');
        return;
    }

    lifes += 1;
    stats -= 1;
    statsCountLabel.innerHTML = stats;
    lifesLabelCount.innerHTML = lifes;
});

Вариант с else:

 addLifes.addEventListener('click', ()=>{
    if (stats <= 0 || stats === 0) {
        //this.;
        addLifes.style.background = 'red';
        alert('Must more level!');
    }else{
       lifes += 1;
       stats -= 1;
       statsCountLabel.innerHTML = stats;
       lifesLabelCount.innerHTML = lifes;
   }

 
});