JavaScript. Объекты. Конструкторы

Главная » Видеоуроки » JavaScript » JavaScript. Объекты. Конструкторы
В этом уроке мы продолжим разбирать объекты в javascript, рассмотрев другие способы создания объектов. Один из таких способов — функция-конструктор.

Пустые объекты можно создать следующими способами:

var emptyObj = new Object();
console.log(emptyObj);

var anotherEmptyObj = {};
console.log(anotherEmptyObj);
Вспоминая прошлый урок, возникает проблема — как создавать объекты массово? Для этого в javascript есть специальная функция конструктор. По сути своей она ничем не отличается от обычной функции. Существует негласное условие писать названия функции конструктора с большой буквы, чтобы не путать ее с другими функциями. Функция-конструктор устанавливает свойства и методы объекта, но также может иметь свою собственную логику, локальные переменные и пр. Создание объекта через функцию-конструктор вам знакомо — на одном из уроков мы разбирали стандартные объекты в javascript, например объект Date. Создание объектов при помощи функции-конструктора делается с помощью ключевого слова new.

Например:

var obj = new MyObject();

Код урока

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>

    <script>

        var chislo = 5;
        var stroka = "stroka";

        var kamil = {
            name: "Камиль",
            age: 26,
            birthdate: {
                day: 29,
                month: "июнь",
                year: 1990
            },
            sayName: function() {
                console.log("Меня зовут " + kamil.name);
            }
        };

        console.log(kamil);
        kamil.name = "Kamil";
        console.log(kamil);

        var emptyObj = new Object();
        console.log(emptyObj);

        var anotherEmptyObj = {};
        console.log(anotherEmptyObj);

        function Man(name, age) {
            this.name = name;
            this.age = age;
            var hello = "Меня зовут";
            this.sayMyName = function() {
                console.log(hello + " " + this.name);
            }
        }

        var kamil = new Man("Камиль", 26);
        console.log(kamil);
        kamil.sayMyName();

    </script>

    </body>
</html>

0 Комментариев

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.

Pin It on Pinterest

Share This