Создать конструктор объектов

149
21 января 2020, 11:00

Снова прошу помощи у сообщества. /*2.Создать конструктор объектов «Государство», содержащий в себе свойства: название страны, столица, население, глава государства. При вводе данных с клавиатуры проводить проверку данных на достоверность и «на лету» создавать новые объекты этого класса. Прекратить ввод, если название не введено или нажата клавиша ESC. Сохранять данные в массиве объектов. Затем вывести данные в окно браузера в виде таблицы. Для вывода применить созданный самостоятельно метод объекта. */

<script>
        function State(name, capital, population, head) {
        if (typeof name !== "string") {
            alert("Вы ввели неправильное значение. Обновите страницу и попробуйте еще раз");
        } else {
            this.name = name;
        }
        if (typeof capital !== "string") {
            alert("Вы ввели неправильное значение. Обновите страницу и попробуйте еще раз");
        } else {
            this.capital = capital;
        }
        this.population = parseInt(population);
        if (isNaN(population) || population < 10000) {
            alert("Вы ввели неправильное значение или маловато народу в государстве. Обновите страницу и попробуйте еще раз");
        } else {
            this.population = population;
        }
        if (typeof head !== "string") {
            alert("Вы ввели неправильное значение. Обновите страницу и попробуйте еще раз");
        } else {
            this.president = head;
        }
        this.displayInfo = function() {
            document.write("Государство: " + this.name + "; + Столица: " + this.capital + "Население: " + this.population + "; + Президент: " + this.president + "<br/>");
        }
    }

    var StateArray = [];
    do {
        var name = prompt("Введите название государства(ESC, Отмена - окончание ввода данных):");
        if (name === null) {
            break
        }
        var capital = prompt("Введите столицу государства(ESC, Отмена - окончание ввода данных):");
        if (capital === null) {
            break
        }
        var population = prompt("Введите население государства (число)(ESC, Отмена - окончание ввода данных):");
        if (population === null) {
            break;
        }
        var head = prompt("Введите имя главы государства(ESC, Отмена - окончание ввода данных):");
        if (head === null) {
            break;
        }
        console.log(name, capital, population, head);
        StateArray.push(name, capital, population, head)

    } while (true);
    if (confirm("Если вы закончили ввод данных, вывести список?")) {
        for (var state in StateArray)
    </script>

я не доделала. Но, кажись, работает. В консоль выводит.

READ ALSO
Telegram бот Последовательный ввод данных NodeJS telegraph

Telegram бот Последовательный ввод данных NodeJS telegraph

Пишу бота на NodeJS, используя telegraph и вот уже в который раз сталкиваюсь с одной и той же проблемойКак ввести последовательно данные и сделать...

290
Анимация картинки на Javascript

Анимация картинки на Javascript

Хочу реализовать анимацию картинки, как вот на этом сайте https://bmfestcom, принцип работы должен быть таким, чтобы при ведении курсора мыши, картинка...

136
Почему аудио-скрипт не работает в Google Chrome?

Почему аудио-скрипт не работает в Google Chrome?

Нашёл вот такой скрипт, который проигрывает звук на странице

202
Какой метод более (правильный/читаемый)?

Какой метод более (правильный/читаемый)?

Написал несколько строк роутера, потом пришла идея переписать его на async/await, собственно вопрос несколько:

121