В JS создание объекта (Create Object) — это не совсем создание объекта класса, как мы часто говорим. Объект в JS делает упор на составной тип. Создание объектов и доступ к объектам в JS чрезвычайно гибки.
Объект JS — это составной тип, который позволяет хранить его и получать к нему доступ через имена переменных. Другими словами, объект представляет собой неупорядоченную коллекцию свойств. Каждый элемент в коллекции состоит из имени и значения (не имеет значения). Не звучит ли это странно? Как HASH-таблица, словарь, пара ключ/значение, которую мы часто слышим?), а тип значения может быть встроенным типом (например, числом, строкой) или объектом.
1. Окружён парой фигурных скобок.
Скопируйте код кода следующим образом:
вар пустойObj = {};
вар myObj =
{
'id': 1, //Имена атрибутов заключаются в кавычки, а атрибуты разделяются запятыми
'имя': 'моеИмя'
};
//var m = новый myObj() //Не поддерживается;
Интересно, заметили ли вы, что все объекты объявляются с использованием var? Как и в приведенном выше коде, он просто объявляет объект. Он имеет только одну копию. Вы не можете использовать новую операцию, как создание экземпляра объекта класса. Как и в приведенном выше коде. раздел. Это значительно ограничивает повторное использование объектов. Если для создаваемого вами объекта требуется только одна копия, рассмотрите возможность использования других методов для создания объекта.
Давайте посмотрим, как получить доступ к свойствам и методам объекта.
Скопируйте код кода следующим образом:
вар myObj =
{
'идентификатор': 1,
'весело': function() {
document.writeln(this.id + '-' + this.name);//Доступ в режиме "object.property"
},
'имя': 'myObj',
'fun1': function() {
document.writeln(this['id'] + '+' + this['name']);//Доступ в режиме сбора
}
};
мойОбъект.fun();
мойОбъект.fun1();
// результат
// 1-мойОбъект 1+мойОбъект
2. Используйте ключевое слово function для имитации класса.
Используйте это в функции для ссылки на текущий объект и объявляйте свойства, присваивая им значения. Если переменная объявлена с помощью var, эта переменная является локальной и может быть вызвана только в определении класса.
Скопируйте код кода следующим образом:
функция myClass() {
this.id = 5;
this.name = 'мойкласс';
this.getName = функция() {
вернуть это.имя;
}
}
вар мой = новый myClass();
оповещение (мой.id);
оповещение(my.getName());
// результат
// 5
//мойкласс
3. Создайте объект в теле функции, объявите его свойства и верните
Чтобы создать объект в теле функции, вы можете использовать метод из первого пункта или сначала использовать new Object(), а затем присвоить значения каждому атрибуту;
Однако объекты, созданные таким образом, не имеют интеллектуальных подсказок в VS2008 SP1.
Скопируйте код кода следующим образом:
функция myClass() {
вар объект =
{
'идентификатор': 2,
'имя':'мойкласс'
};
вернуть объект;
}
функция _myClass() {
вар объект = новый объект ();
объект.id = 1;
obj.name = '_myclass';
вернуть объект;
}
вар мой = новый myClass();
вар _my = новый _myClass();
оповещение (мой.id);
оповещение(мое.имя);
оповещение(_my.id);
оповещение(_my.name);
// результат
// 2
//мойкласс
// 1
// _мойкласс