Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   Вопрос по поводу условия с оператором "?". (https://javascript.ru/forum/css-html-firefox-mizilla/67437-vopros-po-povodu-usloviya-s-operatorom.html)

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);


Просто интересно - решаю задачу "Проверка логина" здесь. И хочу всё сделать не с 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>


Часовой пояс GMT +3, время: 12:25.