Вход

Просмотр полной версии : Вопрос по поводу условия с оператором "?".


AndreyWeb
17.02.2017, 13:25
Всем привет! Я недавно начал изучать JS. У меня такой вопрос. Вот рабочий код:


var message;
var pass;
var login=prompt("Введите логин","");
if(login!=null){
(login=="я")? (pass=prompt("Введите пароль",""),
message=(pass=="123")?("Привет"):("Пароль неверный")
):message=("Логин неверный");
}else {message=("отменено");};
alert(message);



Возможно ли сделать вот так? Т.е условие (login!=null) не через "if..else", а через "?". Естественно, данный код не срабатывает, но ведь условие (pass=="123") я также вложил в значение условия (login=="я") и это работает в предыдущем варианте:

var message;
var pass;
var login=prompt("Введите логин","");
(login!=null)?(
(login=="я")? (pass=prompt("Введите пароль",""),
message=(pass=="123")?("Привет"):("Пароль неверный")
):message=("Логин неверный");
):(message=("отменено"));
alert(message);


Просто интересно - решаю задачу "Проверка логина" здесь (http://learn.javascript.ru/ifelse). И хочу всё сделать не с if..else, а при помощи ?.

Благодарю за помощь) я новичок в этом деле, поэтому прошу принять меня на Форум)):)

AndreyWeb
17.02.2017, 14:24
Всё! Разобрался! :dance: Надо было ";" убрать после message=("логин неверный") , теперь работает:

var message;
var pass;
var login=prompt("Введите логин","");
(login!=null)?(
(login=="я")? (pass=prompt("Введите пароль",""),
message=(pass=="123")?("Привет"):("Пароль неверный")
):message=("Логин неверный")
):(message=("отменено"));
alert(message);

AndreyWeb
17.02.2017, 15:00
Вот, собственно чего хотел в итоге добиться:) :

<script>
var message;
var pass;
var login=prompt("Введите логин","");
(login!=null)?(
(login=="Я")?(pass=prompt("Введите пароль",""),
(pass!=null)?(
message=(pass=="123")?("Привет!"):("Пароль неверный")
):(message=("нет входа"))
):message=("Логин неверный")
):(message=("отменено"));
alert(message);
</script>