function User() {
name: prompt("Your full name");
regDate: new Date();
}
while (User.name != null) {
arrUsers[i] = new User();
...
}
Как сделать так, чтобы при нажатии отмены в prompt цикл прекращался?
В данном коде смешались кони, люди.
Свойство name
у функции всегда не null
, а User
в данном случае именно функция, а не объект. Следовательно проверка User.name != null
всегда дает true
и цикл становится бесконечным.
К самой функции тоже есть претензии: сейчас она делает совсем не то, что от нее ожидается.
В текущем виде внутри функции объявлены две метки.
Поэтому при использовании функции в качестве конструктора new User();
у полученного объекта вместо ожидаемых полей name
и regDate
не будет ничего.
Для создания полей их надо присваивать как свойства this
, например
this.name = prompt("Your full name");
В данном случае лучше вообще вынести вызов prompt
и конструктора, и передавать в конструктор непосредственно введенное имя.
В этом случае и проверка введенной строки тоже становится тривиальной, например:
function User(userName) {
this.name = userName;
this.regDate = new Date();
}
...
var userName;
while ((userName = prompt("Your full name")) != null) {
arrUsers[i] = new User(userName);
...
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Не могу разобраться, autoNumeric работает только на первый элемент содержащий класс float, как сделать что бы сработало на всех элементах имеющих...