Как исправить ошибку, которая возникает, когда я помещаю эти операторы else в свою функцию? - PullRequest
0 голосов
/ 06 июля 2018

Я пытаюсь создать wepbage, где, когда пользователь нажимает кнопку, он получает комплимент. Я делаю это, используя button.addEventListener("click", generator);. Тем не менее, я продолжал получать ошибку Uncaught SyntaxError: Unexpected token else, когда я проверял консоль. Я подозревал, что это была проблема с синтаксисом if / else, и я удалил точки с запятой, которые я случайно ставил после каждого блока, чтобы увидеть, была ли это проблема. Это переключило его с Uncaught SyntaxError: Unexpected token else на Uncaught SyntaxError: Unexpected token {. Я несколько раз просматривал его, чтобы попытаться найти ошибку, но просто не могу найти проблему.

Вот функция:

var generator = function(){
        var complimentNum = round(random(1,5));
        if(complimentNum == 1){
            compliment.textContent = "You have a great smile!";
        }
        else if(complimentNum == 2){
            compliment.textContent = "You are so kind to others!";
        }
        else if(complimentNum == 3){
            compliment.textContent = "Your laugh is beautiful!";
        }
        else if(complimentNum == 4){
            compliment.textContent = "Your eyes are beautiful!";
        }
        else(complimentNum == 5){
            compliment.textContent = "You have good taste.";
        }
    }

1 Ответ

0 голосов
/ 06 июля 2018

Я изменил ваш код, чтобы он работал нормально, а также изменил случайный метод.

Вы должны знать разницу между if, else if и else.

compliment = document.getElementById('compliment');
var generator = function(){
    // modified the generation of random number
    var complimentNum = Math.round(Math.random()*4+1);
    if(complimentNum == 1){
        compliment.textContent = "You have a great smile!";
    }
    else if(complimentNum == 2){
        compliment.textContent = "You are so kind to others!";
    }
    else if(complimentNum == 3){
        compliment.textContent = "Your laugh is beautiful!";
    }
    else if(complimentNum == 4){
        compliment.textContent = "Your eyes are beautiful!";
    }
    // change to else if
    else if(complimentNum == 5){
        compliment.textContent = "You have good taste.";
    }
    // how to use else
    else {
        compliment.textContent = "You have good taste.";
    }
}
<span id="compliment"></span>
<br/>
<button onclick="generator()">click</button>
...