@Erik_Galiev09

Читаются все Alert ы в JS подряд?

Сделал очень простую программу по вводу бонус кодов, но почему-то при вводе любого бонус кода, читаются также и все последующие алерты.
вот код :
<script>
		
		function bonusCode(){
	
			var bonusCode = prompt("Введите бонус код...");
			
			if (bonusCode = "S3dsOO"){
			
				alert("Поздравляем теперь у вас есть +10 киткоинов!");
				
				alert("Киткоины начислены");
				
				document.getElementById("kitkoins-proxy-valute").innerHTML = +10;
			
			}
			
			if (bonusCode = "test"){
			
				alert("+5 киткоинов");
				
				document.getElementById("kitkoins-proxy-valute").innerHTML = +5;
			
			}
				
			else{
			
				alert("Упс! Бонус код введен неправильно, или его не существует.");
				
				alert("Попробуйте еще раз!");
			
			}
		
		}
			
	</script>
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
Вы присваиваете внутри условия, а не сравниваете.
Сравнивают двойным или тройным знаком равенства.

Операция присвоения возвращает то, что присваивается. В обоих случаях у Вас это не пустая строка, что внутри условия интерпретируется как истина.
Так как это два последовательных if, не знающих друг о друге и не имеющих return внутри себя, то получаем:
1. если истина, то + 10.
2. если истина, то +5
2.1 иначе упс
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы