Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.04.2017, 16:12
Новичок на форуме
Отправить личное сообщение для Yaponcik Посмотреть профиль Найти все сообщения от Yaponcik
 
Регистрация: 26.04.2017
Сообщений: 2

Вопрос по, возможно, зарезервированным именам...
Случился вот такой вот конфуз... решая простенькую задачку столкнулся со следующей проблемой. При нажатии Отмена в окне prompt выводился alert 'Access denied' хотя должен был выводиться 'Canceled'. проблема решилась изменением имени переменной с name на nam. Погуглил, но нигде не нашёл инфы что name зарезервированна или что-то ещё... Ниже текст задачи, ещё ниже оба варианта кода.
Как вы считаете отчего так?

Задача:

Напишите код, который будет запрашивать логин пользователя (prompt).
Если посетитель вводит 'admin', то спрашивать пароль, если нажал отмена (escape) — выводить 'Canceled', если вводит что-то другое — 'Access denied'. Пароль проверять так. Если введён пароль 'passw0rd', то выводить 'Welcome home!', иначе — 'Wrong password', при отмене — 'Canceled'.



Проблемный код

var name = prompt("Введите имя пользователя");
if (name=='admin')
{
	var pass = prompt('Введите пароль');
     if (pass == 'passw0rd')
     	{alert('Wellcome Home!')}
     else if (pass==null) 
        {alert('Cancelled')}
    else {alert('Wrong Password')}
}
else if (name==null)
{
	alert('Cancelled')
}
else if (name!='admin'){
	alert('Access danied')
}


Работающий как нужно

var nam = prompt("Введите имя пользователя");
if (nam=='admin')
{
	var pass = prompt('Введите пароль');
     if (pass == 'passw0rd')
     	{alert('Wellcome Home!')}
     else if (pass==null) 
        {alert('Cancelled')}
    else {alert('Wrong Password')}
}
else if (nam==null)
{
	alert('Cancelled')
}
else if (nam!='admin'){
	alert('Access danied')
}
Ответить с цитированием
  #2 (permalink)  
Старый 26.04.2017, 16:48
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Yaponcik
Как вы считаете отчего так?
Думаю, этот пример можно считать ответом...

var name = prompt("Введите имя пользователя");
alert(typeof(name));
if (name=='admin'){
	var pass = prompt('Введите пароль');
    if (pass == 1) {
		alert('Wellcome Home!');
	} else {
		alert((pass=='null')? 'Cancelled': 'Wrong Password');
	};
} else {
	alert((name=='null')? 'Cancelled': 'Access danied');
};
Ответить с цитированием
  #3 (permalink)  
Старый 27.04.2017, 12:52
Аватар для join
Профессор
Отправить личное сообщение для join Посмотреть профиль Найти все сообщения от join
 
Регистрация: 05.03.2012
Сообщений: 477

Me name is Yaponcik. I'm hoodlum from ussr.

Последний раз редактировалось join, 27.04.2017 в 12:59.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
небольшой вопрос по центровке wlad Internet Explorer 1 08.01.2017 19:03
Меню с выезжающим сайдбаром Jaz Элементы интерфейса 17 26.06.2016 19:21
Неизвестный идентификатор FaNaT_96 Общие вопросы Javascript 14 01.05.2016 18:15
Возможно ли считать инфу посетителей с чужого сайта? Klerik Общие вопросы Javascript 2 20.09.2013 15:42
Возможно ли? zork0 Общие вопросы Javascript 8 12.12.2012 16:09