|
08.04.2012, 16:43
|
|
Новичок на форуме
|
|
Регистрация: 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);
|
|
08.04.2012, 16:52
|
|
Профессор
|
|
Регистрация: 04.12.2009
Сообщений: 579
|
|
потому, что строка s формируется до того, как name принимает значение "незнакомец".
var name = prompt("Введите ваше имя","");
if (!name) {name="незнакомец"; }
var s = "<h1>Привет, "+name+"!</h1>";
document.write(s);
__________________
С моих слов записано верно.
|
|
08.04.2012, 16:58
|
|
Профессор
|
|
Регистрация: 04.12.2009
Сообщений: 579
|
|
или так:
var name = prompt("Введите ваше имя");
name = (!name)?"Незнакомец":name;
s = "<h1> Привет, "+name+"</h1>";
document.write(s);
__________________
С моих слов записано верно.
|
|
08.04.2012, 17:03
|
|
Новичок на форуме
|
|
Регистрация: 08.04.2012
Сообщений: 6
|
|
Сообщение от T-sh
|
потому, что строка s формируется до того, как name принимает значение "незнакомец".
var name = prompt("Введите ваше имя","");
if (!name) {name="незнакомец"; }
var s = "<h1>Привет, "+name+"!</h1>";
document.write(s);
|
Спасибо! вроде понятно.
Ещё скажите пожалуйста мой вопрос в книгах по JS под какую тему подпадает ?? Чтоб более обширно почитать об этом и в будущем не делать таких ошибок.
|
|
08.04.2012, 17:04
|
|
Профессор
|
|
Регистрация: 04.12.2009
Сообщений: 579
|
|
Сообщение от Maxmaxmахimus
|
с чего это?
|
как минимум, с того, что s формируется во второй строчке, а name становится незнакомцем только после условия
__________________
С моих слов записано верно.
|
|
08.04.2012, 17:05
|
|
Профессор
|
|
Регистрация: 04.12.2009
Сообщений: 579
|
|
Сообщение от mr.dassler
|
Спасибо! вроде понятно.
Ещё скажите пожалуйста мой вопрос в книгах по JS под какую тему подпадает?? Чтоб более обширно почитать об этом и в будущем не делать таких ошибок.
|
да я даже не знаю, какая это будет тема... наверное, работа с переменными.. или условные операторы..
__________________
С моих слов записано верно.
|
|
08.04.2012, 17:05
|
|
Профессор
|
|
Регистрация: 04.12.2009
Сообщений: 579
|
|
кстати, вот так будет ещё круче:
var name =(name=prompt("Введите ваше имя"))?name:"Незнакомец";
s = "<h1> Привет, "+name+"</h1>";
document.write(s);
__________________
С моих слов записано верно.
|
|
08.04.2012, 17:07
|
|
Профессор
|
|
Регистрация: 04.12.2009
Сообщений: 579
|
|
Сообщение от Maxmaxmахimus
|
T-sh,
ну ты нубок
|
сам ты нубок, перечитай ещё раз всё и опять пойми, что ты тупишь
__________________
С моих слов записано верно.
|
|
08.04.2012, 17:08
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от T-sh
|
var name =(name=prompt("Введите ваше имя"))?name:"Незнакомец";
|
Нагородил-то
var name = prompt("Введите ваше имя") || "Незнакомец";
|
|
08.04.2012, 17:10
|
|
Профессор
|
|
Регистрация: 04.12.2009
Сообщений: 579
|
|
Сообщение от Kolyaj
|
Нагородил-то
var name = prompt("Введите ваше имя") || "Незнакомец";
|
да, это ещё круче, чем то, что круче первого )))
__________________
С моих слов записано верно.
|
|
|
|