Javascript.RU

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

Непонятное поведение функции
Здравствуйте, я только делаю свои первые шаги в программировании, вот моя учебная программа:

<<meta charset="utf-8">
<script>
hello();
function hello() {
var name = prompt('Назовите Ваше имя'); // пользователь вводит своё имя
return "Привет, " + name + "!";
}
alert (hello());
</script>

Странно по моему мнению вот что:
Функция предлагает два раза ввести имя. При первом проходе она запрашивает имя, присваивает его для переменной name, возвращает значение функции, потом вновь запускается функция, где name становится undefined, только после повторного прохождения функции программа срабатывает. Объясните, пожалуйста, почему так может происходить. P.S. Если объявлять переменную name вне функции, то всё нормально.
Ответить с цитированием
  #2 (permalink)  
Старый 09.03.2017, 21:51
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

function hello() {
    var name = prompt('Назовите Ваше имя'); // пользователь вводит своё имя
    return "Привет, " + name + "!";
}
alert(hello());
Ответить с цитированием
  #3 (permalink)  
Старый 10.03.2017, 09:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от AlVar
Объясните, пожалуйста, почему так может происходить.
Если дважды, как ты, вызывать функцию.
Сообщение от AlVar
// Первый
hello();
function hello() {
var name = prompt('Назовите Ваше имя'); // пользователь вводит своё имя
return "Привет, " + name + "!";
}
// Второй
alert (hello());
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятное поведение INPUT + DATALIST renatdmit Элементы интерфейса 20 10.08.2016 19:54
Непонятное завершение функции culver Общие вопросы Javascript 13 10.12.2013 01:36
Непонятное поведение - console.log Artyom Общие вопросы Javascript 19 28.11.2013 20:50
Непонятное поведение в Chrome main.c Opera, Safari и др. 3 10.10.2013 18:52
Непонятное поведение javascript Autosof Общие вопросы Javascript 4 04.09.2008 19:00