Я создаю игру, и как только два счета совпадают, я хочу, чтобы она показывала «Вы выиграли», но я не могу сравнить два счета.
Я попробовал метод parseInt и метод .val, но не пошел.
var numberFour = Math.floor(Math.random() * 3 + 10);
$("#four").on("click", function() {
playerScore = playerScore + numberFour
$("#score").text(playerScore);
})
console.info(numberFour);
for (var i = 0; i < 121; i++) {
var goalNumber = Math.floor(Math.random() * 100 + 9);
$("#goal").text(goalNumber);
};
if (playerScore == goalNumber) {
console.info("You won!");
}
else {
console.info("You suck!")
}
почему вы зацикливаетесь 121 раз, чтобы создать goalNumber - это будет только последнее значение, созданное в этом цикле
playerscore обновляется по клику... но сравнение запускается только один раз
Вы объявили playerScore вне метода onclick, который вы создали для «#four»? Не забудьте закрыть эту функцию точкой с запятой. Похоже, вы используете правильный оператор сравнения. Когда вы вызываете этот оператор if-else? Это внутри загружаемого документа? Вы настроили его для запуска по условию или прослушивателю событий?
var randomNumbers = [1,2,3,4,5,6,7,8,9,10,11,12] var выигрыши = 0 var проигрыши = 0 var playerScore = 0 var targetNumber = 0 Вот мои переменные. У меня есть три других метода onclick выше, не нужно повторять.
Так как же мне заставить его продолжать сравнивать?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я не уверен, почему вы выполняете такой большой цикл для targetNumber, но попробуйте этот код. Я изменил ваш цикл, чтобы вы не повторно объявляли targetNumber более 120 раз, и поместил свое сравнение в свой вызов onclick, чтобы он постоянно вызывался каждый раз, когда вы обновляете свой playerScore. Я не знаю, как вы настроили свою игру, но я думаю, что им будет сложно когда-либо быть равными, когда вы используете случайные числа.
Кроме того, полезно знать, когда вы вызываете части своего кода. Отсутствие обработчиков событий затрудняет отладку кода. Как еще мы узнаем, когда вещи используются?
var playerScore = 0;
var goalNumber = 0;
var numberFour = Math.floor(Math.random() * 3 + 10);
for (var i = 0; i < 121; i++) {
goalNumber = Math.floor(Math.random() * 100 + 9);
$("#goal").text(goalNumber);
};
$("#four").on("click", function() {
playerScore += numberFour;
$("#score").text(playerScore);
if (playerScore == goalNumber) {
console.info("You won!");
}
else {
console.info("You suck!")
}
});
Рад, что это сработало! Не могли бы вы принять это как лучший ответ? :)
чем инициализируется
playerScore?