Я пытаюсь получить имя пользователя для сайта, используя подсказку javascript. Если пользователь нажимает на отмену, запрос должен появиться снова или если он вводит пустое значение, запрос должен появиться снова.при вызове функции внутри себя возвращаемое значение не совпадает во втором вызове
Я не хочу, чтобы пользователь использовал сайт без ввода правильного имени пользователя. для этого я написал функцию для определения ввода имени пользователя или нет. Но он работает неправильно, он возвращает значение в первый раз, но если я нажму «отменить» и введите значение во втором приглашении. эта функция ничего не возвращает. Я не понимаю, что я сделал неправильно.
function getusername()
{
var user = prompt("Please Enter Your Username");
if(user == null || user == "")
{
getusername();
}
else
{
return user;
}
}
, когда я называю это как alert(getusername());
значение приходит в первый раз, но если я нажимаю отменить в первой строке и введите имя пользователя во второй строке, предупреждение не определено. Пожалуйста, помогите мне.
спасибо. HostileFork, я узнал новую вещь о рекурсии в javascript. – Vignesh
@Vignesh Я хочу подчеркнуть, что не следует отнимать у этого, что «рекурсия плохая». может быть * очень хорошим * ... и является основой для постановки задачи с точки зрения меньших подзадач в пути [divide-and-conquer] (http://en.wikipedia.org/wiki/Divide_and_conquer_algorithms). Но подумайте о приостановке в отладчике после 10 недопустимых ответов на запросы ... вы хотите посмотреть в стеке вызовов и посмотреть функцию, которая называется getusername или 'getusername/getusername/getusername/getusername/getusername/getusername/getusername/getusername/getusername/getusername ... '? – HostileFork
Да, я использовал рекурсию во встроенном c it там очень полезно. но я понимаю, что не использовал рекурсию в своем идеальном случае использования в этом коде. Спасибо. – Vignesh