HighwayToCode
@HighwayToCode
While Учусь do Туплю

Где ошибка в коде?

Всем доброго дня.

Товарищи, в чем здесь ошибка моего понимания логики Js. Объясните, пожалуйста, и если не сочтете лишним - поправьте.

var trouble = prompt('What is wrong?')

var cabel = 1
var router = 2
var computer = 3

if (trouble == 1) {
	console.log('check your cabel')
} else if (trouble == 2){
	console.log('check your router')
} else if (trouble == 3) {
	console.log('reload your PC')
} else {
	console.log('uncorrect trouble')
}
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ответы на вопрос 4
rockon404
@rockon404
Frontend Developer
var trouble = +prompt('What is wrong?');

var CABEL = 1;
var ROUTER = 2;
var COMPUTER = 3;

switch (trouble) {
  case CABEL:
    console.log('check your cabel');
    break;
  
  case ROUTER:
    console.log('check your router');
    break;
  
  case COMPUTER:
    console.log('reload your PC');
    break;
  
  default:
    console.log('uncorrect trouble');
}
Ответ написан
Stimulate
@Stimulate
могу
var trouble = prompt('What is wrong?');

switch (trouble) {
	case 1:
		console.log('check your cabel');
    break;
	
	case 2:
		console.log('check your router');
    break;
	
	case 3:
		console.log('reload your PC');
    break;
	
	default:
		console.log('uncorrect trouble');
	break;
}
Ответ написан
@Codebaker
Всё умею, всё могу!
1) prompt возвращает строки, сравнение с числами - некорректно
2) в блоках с if ()... вы постоянно сравниваете с константами, хотя чуть ранее объявили их "смысловую нагрузку"

Соответственно, лучше будет сделать так:

1) var trouble = parseInt(prompt('What is wrong?'))
2) if (trouble == cabel) {...
...
else if (trouble == router) { ...
...
else if (trouble == computer) { ....
Ответ написан
@kttotto
все, что .NET
У меня Ваш код работает
тут
А вообще не стоит пренебрегать ";" в конце строки.
Ответ написан
Ваш ответ на вопрос

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

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