Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.04.2012, 16:43
Аватар для mr.dassler
Новичок на форуме
Отправить личное сообщение для mr.dassler Посмотреть профиль Найти все сообщения от mr.dassler
 
Регистрация: 08.04.2012
Сообщений: 6

подскажите ошибку в переменных
Объясните ошибку, почему при нажатии отмена или OK выводится только переменная s без переменной name и какое этому объяснение!?
var name = prompt("Введите ваше имя","");
var s = "<h1>Привет, "+name+"!</h1>";
if (!name)
{
name="незнакомец";
document.write(s);
}
else
document.write(s);
Ответить с цитированием
  #2 (permalink)  
Старый 08.04.2012, 16:52
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

потому, что строка s формируется до того, как name принимает значение "незнакомец".

var name = prompt("Введите ваше имя","");
 if (!name) {name="незнакомец"; }
 var s = "<h1>Привет, "+name+"!</h1>";
 document.write(s);
__________________
С моих слов записано верно.
Ответить с цитированием
  #3 (permalink)  
Старый 08.04.2012, 16:58
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

или так:
var name = prompt("Введите ваше имя");
name = (!name)?"Незнакомец":name;
s = "<h1> Привет, "+name+"</h1>";
document.write(s);
__________________
С моих слов записано верно.
Ответить с цитированием
  #4 (permalink)  
Старый 08.04.2012, 17:03
Аватар для mr.dassler
Новичок на форуме
Отправить личное сообщение для mr.dassler Посмотреть профиль Найти все сообщения от mr.dassler
 
Регистрация: 08.04.2012
Сообщений: 6

Сообщение от T-sh Посмотреть сообщение
потому, что строка s формируется до того, как name принимает значение "незнакомец".

var name = prompt("Введите ваше имя","");
 if (!name) {name="незнакомец"; }
 var s = "<h1>Привет, "+name+"!</h1>";
 document.write(s);
Спасибо! вроде понятно.
Ещё скажите пожалуйста мой вопрос в книгах по JS под какую тему подпадает?? Чтоб более обширно почитать об этом и в будущем не делать таких ошибок.
Ответить с цитированием
  #5 (permalink)  
Старый 08.04.2012, 17:04
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

Сообщение от Maxmaxmахimus Посмотреть сообщение
с чего это?
как минимум, с того, что s формируется во второй строчке, а name становится незнакомцем только после условия
__________________
С моих слов записано верно.
Ответить с цитированием
  #6 (permalink)  
Старый 08.04.2012, 17:05
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

Сообщение от mr.dassler Посмотреть сообщение
Спасибо! вроде понятно.
Ещё скажите пожалуйста мой вопрос в книгах по JS под какую тему подпадает?? Чтоб более обширно почитать об этом и в будущем не делать таких ошибок.
да я даже не знаю, какая это будет тема... наверное, работа с переменными.. или условные операторы..
__________________
С моих слов записано верно.
Ответить с цитированием
  #7 (permalink)  
Старый 08.04.2012, 17:05
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

кстати, вот так будет ещё круче:

var name =(name=prompt("Введите ваше имя"))?name:"Незнакомец";
s = "<h1> Привет, "+name+"</h1>";
document.write(s);
__________________
С моих слов записано верно.
Ответить с цитированием
  #8 (permalink)  
Старый 08.04.2012, 17:07
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

Сообщение от Maxmaxmахimus Посмотреть сообщение
T-sh,
ну ты нубок
сам ты нубок, перечитай ещё раз всё и опять пойми, что ты тупишь
__________________
С моих слов записано верно.
Ответить с цитированием
  #9 (permalink)  
Старый 08.04.2012, 17:08
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от T-sh
var name =(name=prompt("Введите ваше имя"))?name:"Незнакомец";
Нагородил-то

var name = prompt("Введите ваше имя") || "Незнакомец";
Ответить с цитированием
  #10 (permalink)  
Старый 08.04.2012, 17:10
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

Сообщение от Kolyaj Посмотреть сообщение
Нагородил-то

var name = prompt("Введите ваше имя") || "Незнакомец";
да, это ещё круче, чем то, что круче первого )))
__________________
С моих слов записано верно.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно узнать какая из трех переменных больше! shureg Общие вопросы Javascript 2 24.08.2011 11:05
подскажите, как сделать индикатор «до начала загрузки страницы»? SergAG Элементы интерфейса 7 31.05.2011 19:53
Подскажите где я допускаю ошибку? ed_17 Общие вопросы Javascript 6 01.03.2011 19:39
IE выдает ошибку при обработке скрипта sailormoon Javascript под браузер 1 10.08.2010 09:20
Как выдавать ошибку при сбросе загрузки страницы? AvaGet Общие вопросы Javascript 2 11.12.2008 19:04