массив объектов
Здравствуйте! Подскажите, какие ошибки в коде? Для вывода данных надо применить созданный самостоятельно метод объекта
|
Начните с того, что составьте алгоритм.
Вот, что по-Вашему должен делать код:
do{
var str1 = prompt("Введите имя", "Name");
} while (str1 !== "");
По-моему, он будет у посетителя бесконечно спрашивать имя, пока тот не сдастся и не введет пустую строку. Проверки на ESC вообще нет в коде. Избавьтесь от document.write (замените на innerHTML, например). И, пожалуйста, обрамляйте код тегом JS run ![]() |
Спасибо большое за ответ!
Я добавила проверку на ESC, но все равно код не работает:( do { var str1 = prompt("Введите имя", "Name"); } while (str1 !== "" || str1 !== null); |
Информация Вам для размышления.
Первое: Зачем здесь проверка на неравенство с учетом типа? Второе: Зачем такое сложное условие в while, во-первых оно не правильно, во вторых его можно упростить. А теперь правильный ответ :) В Вашем случае нужно было написать так:
do
{
var str1 = prompt("Введите имя", "Name");
}
while (!str1);
Почему так: Первое: код становится более читабельным, поскольку условие в while более наглядно Второе: потому что так все работает как надо! :)) |
Оформите код в посте по настоящему, через вставку JavaScript, а то глаза сломаешь такое читать. И в двух словах какая задача перед Вами стоит.
|
<div id="outer"></div>
<script>
var arr = [], addThis = true;
function Person(name,surname,age) {
this.name = name;
this.surname = surname;
this.age = age;
};
while (addThis) {
var str1 = prompt('Введите имя', 'Name');
if (!str1) break;
var str2 = prompt('Введите фамилию', 'Surname');
var str3 = +prompt('Введите возраст', 0);
addThis = str1 && str2 && str3;
if (addThis) arr.push(new Person(str1,str2,str3));
};
var str = '<table><tr><td>Имя</td><td>Фамилия</td><td>Возраст</td></tr>';
for (var i = 0; i < arr.length; i++) str += '<tr><td>' + arr[i].name + '</td><td>' + arr[i].surname + '</td><td>' + arr[i].age + '</td></tr>';
str += '</table>';
document.getElementById('outer').innerHTML = str;
</script>
|
Цитата:
|
BETEPAH, спасибо большое за ответ! Не подскажете ли вариант вывода таблицы при помощи созданного метода объекта (через prototype)?:)
|
Anna77,
Если не секрет, ответьте, мы тут всем форумом поступаем куда-то? Или уже поступили и готовим курсовые? :) Написать Вам готовый метод? Или сами догадаетесь, что он будет содержать то, что находится в 18й строке (с некоторыми изменениями, конечно)? |
Так и я спросил, мне же интересно, чему (какому заведению) соответствует этот уровень задач. Попробуйте для начала, подумайте. Если не справитесь к вечеру, свистните я напишу Вам метод
|
| Часовой пояс GMT +3, время: 15:10. |