Кроме нескольких примитивных типов (чисел, строк, логических, нулевых и неопределенных), все является объектом в JavaScript (даже функциями).
Объекты - это, в основном, контейнеры свойств, которые оказываются очень полезнымидля сбора и организации данных.
Один из популярных методов создания объектов - использование буквенной нотации объекта , где имя свойства отделено от значения символом двоеточия :
:
var myFirstObject = {
'name': 'Bobby',
'surname': 'Smith'
};
Кавычки вокруг имен свойств являются необязательными, если имя будет допустимым идентификатором JavaScript, а не зарезервированным словом.Имя свойства может быть любой строкой.Объекты могут содержать другие объекты, поэтому они могут легко представлять деревья или графики:
var myFlight = {
'airline': 'Airline Name',
'number': 'AN700',
'departure': {
'IATA': 'SYD',
'time': '2010-09-04 23:10:00'
},
'arrival': {
'IATA': 'LAX',
'time': '2010-09-05 05:14:00'
}
};
Объекты JavaScript также оказываются удобной хеш-таблицей структурой данных.Вы можете легко сделать следующее:
var myHashTable = {};
myHashTable['name'] = 'Bobby';
myHashTable['surname'] = 'Smith';
// subscript notation:
alert(myHashTable['name'] + ' ' + myHashTable['surname']);
// dot notation: (equivalent)
alert(myHashTable.name + ' ' + myHashTable.surname);
jQuery и многие другие библиотеки JavaScript часто ожидают объект в качестве аргумента метода.Чтобы дать вам пример из другой библиотеки, вот как карта строится с использованием Google Maps API v3 :
var map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: new google.maps.LatLng(39.904667, 116.408198),
zoom: 12
});
Обратите внимание, как мы можем легко передавать читаемые сложные структуры в качестве аргументов функциииз-за того, как работает JavaScript.